| OS | Browser | "" | null | remove | delete | stop | StopImage | Stop | Button | Timeout |
|---|---|---|---|---|---|---|---|---|---|---|
| Windows | IE6,7,8 | √(e) | √(e) | II | × | × | × | × | × | 21s (e) |
| / | FF4,5 | II | II | II | × | II | × | × | II | 21s (e) |
| / | Chrome12 | × | × | × | × | II | × | × | II | 21s (e) |
| / | Safari4,5 | × | × | × | × | II | × | × | II | 21s (e) |
| / | Opera9 | × | √(e) | × | × | II | × | × | II | 47s (e) |
| / | Opera11 | II | √(e) | II | II | II | × | × | II | 47s (e) |
| Mac OS X | Safari5 | × | × | × | × | II | × | × | II | 1.2m (e) |
| / | Chrome12 | × | × | × | × | II | × | × | II | 1.2m (e) |
| / | FF4,5 | II | II | II | × | II | × | × | II | 1m'15s (e) |
| Ubuntu | FF4,5 | II | II | II | × | II | × | × | 3m'9s (e) | |
| / | Chrom(e/ium)12 | × | × | × | × | II | × | × | 3.2m (e) |
标题注解:
图标注解:
测试结果:
为什么不是 script/link?
使用 document.createElement("script") 创建元素并设置 src 属性, appendChild 到 DOM 中会去请求指定资源,可以到底向日志服务器发送数据的要求。
但是使用这种方式有一下几点弊端:
创建脚本带来的危险性。
会向 DOM 中附加元素,影响 DOMLint 校验。
无法 abort,无论设置 script = null;, script.src="";, script.src=null;,
script.removeAttribute("src");, document.body.removeChild(script);
都无法实现 abort.
引入资源不触发 onload/onerror/onabort 事件,除非使用 jsonp 的方式, 对元素本身无法得到回调。
http://stackoverflow.com/questions/930237/javascript-cancel-stop-image-requests
http://stackoverflow.com/questions/4506160/abort-active-image-requests
http://www.devguru.com/technologies/ecmascript/quickref/image.html
window.stop()
execCommand
http://blog.httpwatch.com/2007/11/20/error_internet_invalid_url-httpwatch/
Tags: JavaScript, HTTP
Published on 2011-06-23