我正在编写一个依赖于某些广告脚本的页面,如果它们被阻止,该页面就会完全失败。
我需要一种方法来检测外部脚本是否成功加载 - 如果没有,我将强制页面在没有它们的情况下继续。
有没有办法以编程方式执行此操作?我无法控制广告脚本的内容,因此我无法让它们设置变量或其他内容。超时是我的第一个想法,但这看起来很困惑(如果他们的连接速度很慢怎么办?)。此外,监听脚本元素上的事件并不可靠。这个问题有什么干净的解决方案吗?
谢谢
最佳答案
真正的低技术方法是让每个脚本将某些内容放入全局命名空间中。然后你可以检查它是否存在。
例如
advertisingScript1.js:
advertisingScript1Loaded = true;
...
现在在您的主页中,您可以检查脚本是否已加载:
if (typeof advertisingScript1Loaded !== 'undefined' && advertisingScript1Loaded) {
// Do something that relies on the script
...
}
请注意,如果脚本设置为异步加载,则在进行测试之前您将需要某种准备好的回调。
关于javascript - 以编程方式检测脚本何时被阻止/加载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335883/