| advertise add site services publishers database health videos | ![]() | about toolbar stats live show health store more stuff JOIN/LOGIN |
Geometric Data Hemastainer, Geometric Data Automatic Slide Stainer,... blockscientific.com | ACSRD: Awards Scheme | Clinical Excellence Awards Scheme restdent.org.uk | Clinical Data Management | Data Management Services | Richmond... rpldatamanagement.com | Quality Data - Patient Satisfaction Data - Mercy Medical Center - Des mercy.devwebware.com |
The data URI scheme is a URI scheme that provides a way to include data in line in web pages as if they were external resources. It tends to be simpler than other inclusion methods, such as MIME with cid or mid URIs. Data URIs are sometimes called Uniform Resource Locators, although they do not actually locate anything remote. The data URI scheme is defined in RFC 2397 of the Internet Engineering Task Force. Although the IETF published the data URI specification in 1998,[1] they never formally adopted it as a standard.[2] But the HTML 4.01 specification refers to the data URI scheme[3], and data URIs have now been implemented in most browsers.
[edit] Web browser supportData URIs are currently supported by the following web browsers:
[edit] Advantages
[edit] Disadvantages
[edit] Formatdata:[<MIME-type>][;charset="<encoding>"][;base64],<data> The encoding is indicated by [edit] Examples[edit] HTMLAn HTML fragment embedding a picture of a small red dot: <img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0 vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" /> As demonstrated above, data URIs may contain whitespace for readability. [edit] CSSA CSS rule that includes a background image: ul.checklist li.complete { margin-left: 20px; background: url('data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/ //+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC') top left no-repeat; } [edit] JavaScriptA JavaScript statement that opens an embedded subwindow, as for a footnote link: window.open('data:text/html;charset=utf-8,%3C%21DOCTYPE%20html%3E%0D%0A%3Cht'+ 'ml%20lang%3D%22en%22%3E%0D%0A%3Chead%3E%3Ctitle%3EEmbedded%20Window%3C%2F'+ 'title%3E%3C%2Fhead%3E%0D%0A%3Cbody%3E%3Ch1%3E42%3C%2Fh1%3E%3C%2Fbody%3E%0'+ 'A%3C%2Fhtml%3E%0A%0D%0A','_blank','height=300,width=400'); This example does not work with Internet Explorer 8 due to its security restrictions that prevent navigable file types from being used.[4] [edit] Inclusion in HTML or CSS using PHPBecause base64-encoded data URIs are not human readable, a website author might prefer the encoded data be included in the page via a scripting language such as PHP. This has the advantage that if the included file changes, no modifications need to be made to the HTML file, and also of keeping a separation between binary data and text based formats. Disadvantages include greater server CPU use unless a server-side cache is used. <?php function data_uri($file, $mime) { $contents = file_get_contents($file); $base64 = base64_encode($contents); return ('data:' . $mime . ';base64,' . $base64); } ?> <img src="<?php echo data_uri('elephant.png','image/png'); ?>" alt="An elephant" /> Similarly, if CSS is processed by PHP, the above function may also be used: <?php header('Content-type: text/css');?> div.menu { background-image:url('<?php echo data_uri('menu_background.png','image/png'); ?>'); } In either case, client or server side features/UA detection/discrimination systems, (like conditional comments) may be used to provide a standard http: URL for Internet Explorer and other older browsers. [edit] See also
[edit] References
[edit] External links
| |||||||||||||
| ↑ top of page ↑ | about thumbshots |