sid*_*mor 5 javascript google-chrome google-chrome-extension
有特定的Chrome扩展程序,我想通过来从中获取PNG文件XMLHttpRequest。如果启用了扩展名,我想将“ load”写入控制台,如果禁用了扩展名,我想将“ error”写入控制台。
它可以正常工作,但是如果禁用扩展,Chrome会在控制台中写一个我不想出现的错误:
如何从控制台中删除此错误?
(我已经尝试过了,window.onerror但是没有用)
代码:
var loadHref = function(href) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function(){console.log('load')};
xmlhttp.onerror = function() {console.log('error');};
xmlhttp.open('GET', href);
xmlhttp.send();
}
loadHref('chrome-extension://77672b238520494cba8855547dd00ba8/img/icon24.png');
Run Code Online (Sandbox Code Playgroud)
基本上,您无法消除这些错误,因为它们不是 JS 错误而是网络错误。
假设您的目标是检测是否存在特定扩展名:
假设您在特定域和由您控制的特定扩展需要它。
在这种情况下,最佳方法是externally_connectable通信。这是一个示例。
假设您在事先未知的非特定域中需要它,但您控制扩展。
在这种情况下,可以注入内容脚本(可能使用"run_at": "document_start")并向文档添加一些内容,以表明扩展的存在。例如,注入设置变量的页面级脚本。
假设您不控制扩展名。
那么,在那种情况下你就完蛋了。如果扩展程序不会以上述方式合作,则探测其 Web 可访问资源(如果有的话!)是检测它的唯一方法,而不是观察 DOM 中的特定内容脚本活动(再次,如果有的话)。
| 归档时间: |
|
| 查看次数: |
13672 次 |
| 最近记录: |