Pol*_*878 5 html javascript dom
我正在script像这样在DOM中插入一个标签(想想JSONP):
var s = document.createElement('script');
s.src = "http://abc.com/js/j.js";
s.onerror = function() {
alert("Error loading script tag!");
};
document.getElementsByTagName('head')[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)
现在,我知道上面脚本的404响应abc.com会触发该事件......还有哪些标头/响应会导致script标签抛出错误?我想它会因浏览器而有所不同,但是如果有人有任何类型的列表会非常有用.
谢谢!
4xx和5xx应该导致错误 - 至少它们被定义为错误代码.
[编辑]刚刚在Fx 3.5中测试它 - 这是正确的声明.
如果你想测试其他浏览器(快速和脏...),这是测试代码
var codes = [100, 101, 102, 122, 200, 201, 202, 203, 204, 205, 206, 207, 226, 300, 301, 302, 303, 304, 305, 306, 307, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410], 411, 411, 412, 413,414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 444, 449, 450, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510 ];
$(codes).each(function() {
var s = document.createElement('script');
s.src = "http://localhost/test.php?code="+this;
var cd = this;
s.onerror = function() {
document.write(cd+',')
};
document.getElementsByTagName('head')[0].appendChild(s);
});
Run Code Online (Sandbox Code Playgroud)
和PHP代码:
<?php header('HTTP/1.0 '.$_GET['code'].' OK'); ?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
895 次 |
| 最近记录: |