I'd like to be able to output an HTML file which includes an image (within the file itself). By Googling, I've come across a couple of ways to do this:
javascript:imageData
<IMG SRC="data:image/gif;base64,[...]">
<object ... >
tag (although this uses a data URI, so may inherit the same limitations)But I don't know which is better supported by browsers, or if there are other alternatives.
Can anyone with some practical experience of this offer me advice? Thanks.
In regards to browser support, from Wikipedia:
Data URIs are currently supported by the following web browsers:
IE does not handle the <object>
tag correctly, see here for more details. Briefly, you can't trust IE to display images from it.
The javascript:imageData
is also not well-supported, since it is used in a lot of cross site scripting attacks.
There are many discussions of this on the web, and they all come to the conclusion that there is no good universal way to embed images. If you only need to support a subset of browsers, the data uri may work, or a combination of data uri and javascript.