Recently two different projects required compiling a list of ways to trigger a download through HTML: Resource Timing and Preload Scanner optimization.
There's no centralized list in the WebKit source nor did a web search turn one up. So in hopes it may be useful to others, here's what I was able to come up with. Please let me know what I forgot (note that ways to download through CSS, JS, SVG and plugins are intentionally omitted).
- <applet archive>
- <audio src>
- <body background>
- <embed src>
- <frame src>
- <html manifest>
- <iframe src>
- <img src>
- <input type=image src>
- <link href>
- <object data>
- <script src>
- <source src>
- <track src>
- <video poster>
- <video src>
It might be interesting to compare the performance characteristics of downloads by resource type across browsers. For instance download priority, memory cacheability, parsing blocking and preload scan detection will vary.
6 comments:
Does old stuff like count?
Old stuff like "bgsound"... blogger stripped away the brackets.
Any element which takes a style tag can do it, e.g.:
<div style="background-image:url('some.gif')">Hi!</div>
the TABLE, TR, TH, and TD tags can also have a "background" attribute to an image which all modern browers will automatically download. This is also a useful XSS vector when coupled with a javascript: URI.
This is great Tony. We may want to consider adding one or two of these to the RT spec - BODY and INPUT tags maybe? I don't think we need to be complete, as we have _OTHER, but those two download initiators are relatively commmon.
This is exactly what I needed, thank you for sharing these resources.
Post a Comment