为什么我不得到“;NetworkError”;当我使用<script src=“;false _ ip”>

why dont i get "NetworkError" in javascript when i use <script src="false_ip">?

本文关键字:src script lt gt ip false NetworkError 为什么      更新时间:2023-09-26

这是我的简单脚本,

<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

当我在"firebug"上运行同样的程序时,我会得到详细的错误,比如

NetworkError: 404 Not Found - http://localhost/XSS/192.186.1.1.1.1.1"

那么,我如何才能得到一个详细的错误。

try-catch 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也不提供fire错误处理程序。为什么?

var img = new Image();
 img.src="gifffff/asasa/ss" ;

Firebug不是代码,而是代表代理运行的浏览器诊断工具。(JavaScript无法读取firebug控制台的结果。)

现在,对于案例:

  • Image.error事件从未说明加载失败的原因。HTML规范中没有包含"原因"的规定;通过一开始就不是一个特性来解决问题。

  • catch不起作用,因为代码没有引发异常。

    图像仍然是图像,并且仍然可以添加到DOM而不管资源(最终)是否加载失败。

    src仍然被设置为有效的URI组件——它会在无效/未知的URI方案上引发异常。)


具有此常规限制(在任何[Image]资源上,甚至在同一来源上)还可以防止违反同一来源策略,以及恶意代码运行各种网络扫描攻击的能力。