这是我的简单脚本,
<script>
window.onerror = err;
var script = document.createElement('script');
script.src = "192.186.1.1.1.1.1";
script.onerror = err;
document.body.appendChild(script);
function err(msg, loc, a, b) {
alert(msg + "/" + loc);
}
</script>
但是当我加载这个时,我得到了,
[object Event]/undefined
当我在“萤火虫”上运行相同的命令时,我得到了详细的错误信息,
NetworkError: 404 Not Found - http://localhost/XSS/192.186.1.1.1.1.1"
所以我怎么能得到一个详细的错误。
尝试捕获alos不起作用
try {
var script = document.createElement('script');
script.src = "192.186.1.1.1";
document.body.appendChild(script);
} catch(e) {
alert(e.name);
}
该方法仅在旧的浏览器中有效吗?
img.src也不提供火灾错误处理程序。为什么?
var img = new Image();
img.src="gifffff/asasa/ss" ;
Firebug不是代码,而是代表代理运行的浏览器诊断工具。(JavaScript无法读取Firebug控制台的结果。)
现在,对于这种情况:
该Image.error
事件从未说明加载失败的原因。没有规定在HTML规范中包含“原因”;不能通过一开始就解决的问题。
这样catch
做不起作用,因为代码没有引发异常。
图像仍然是图像,并且无论资源(最终)是否加载失败,仍可以将其添加到DOM中。
(src
仍将其设置为有效的URI组件-它将在无效/未知的URI方案上引发异常。)
具有此一般限制(在任何[Image]资源上,甚至在相同的来源上),还可以防止违反“同源策略”,并且可以防止恶意代码运行各种网络扫描攻击。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句