gpt4 book ai didi

javascript - 识别 Javascript 中的网络错误

转载 作者:行者123 更新时间:2023-11-28 07:49:06 25 4
gpt4 key购买 nike

上下文:

<小时/>

编写一个基于浏览器的工具来访问多个第三方 URL,看看我们是否可以访问该 URL

约束

1. Has to be browser based 
2. I don't own the URL list (read it from a server and is maintained by someone else )
3. Some of the URLs (ie the servers) are not CORs enabled.

传统上,我会使用 XMLHttpRequest 并执行类似 this 的操作查看是否存在网络错误。然而,由于这些是跨域请求,因此在飞行前步骤失败。

到目前为止我所做的只是黑客行为。这是代码。基本上动态创建一个脚本标签,用 src 作为我想要获取的 url。

var createScript = function(whitelist){
var src = whitelist.url;
var script = document.createElement('script');
script.setAttribute('src', src);
script.onload = function () {

whitelist.success = true;
$scope.$digest();
return;
};
script.onerror = function (foo) {
console.error(src,' ',foo);
return;
};
angular.element(document.body).append(script);
};

我查看了传递给 onerror 的对象,但我无法从中获得任何有用的信息,这将帮助我理解失败的原因。此外,网络错误和 403 错误都会触发 onerror 处理程序。就我而言,访问 URL 的成功或失败取决于网络错误,而不是 403 等错误。

问题

With the given constraints is there a way I can identify success or failure. Success or failure as far as Im concerned is whether you can access a URL or not.

最佳答案

我最终为此编写了一个可安装的 chrome 应用程序和一个 chrome 扩展。根据您的用例,可以使用其中任何一种。如果您想从第 3 方网页使用相同的功能,则 chrome 扩展会更有用。

https://github.com/sajit/clienthealthcheck <-- Chrome 应用程序

https://github.com/sajit/healthcheck_api <-- Chrome 扩展

关于javascript - 识别 Javascript 中的网络错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27072125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com