我正在尝试构建一个 chrome 扩展;在这方面的经验很少。我按照使用内容脚本将代码插入到页面上下文中,使用第一种方法将 js 代码注入到页面中。
我正在尝试在其他人的代码上构建一个js框架,该框架严重依赖于警报,这些警报破坏了我的覆盖层的功能,所以我只想让它们安静一下——实际上,我宁愿将消息传递到控制台.log 但我会采取我在这个阶段能得到的东西。因此,我尝试遵循JavaScript:重写alert()来设置要注入的最终js文件(nogo.js)。
nogo.js 被注入,但它似乎没有抑制警报的效果。难道是因为另一个 html 文件本身是由另一个 js 文件启动的,所以注入发生得太慢或无序?
清单.json
"content_scripts": [
{
"matches": ["*://URL/*"],
"js": ["myscript.js"],
"run_at": "document_end",
"all_frames": true
},
{
"matches": ["*://URL/*"],
"js": ["noalerts.js"],
"run_at": "document_start",
"all_frames": true
}
],
"web_accessible_resources": ["script.js","nogo.js"]
}
Run Code Online (Sandbox Code Playgroud)
myscript.js
var s = document.createElement('script');
// TODO: add "script.js" to web_accessible_resources in manifest.json
s.src = chrome.extension.getURL('script.js');
s.onload = function() {
this.remove();
};
(document.head || document.documentElement).appendChild(s);
Run Code Online (Sandbox Code Playgroud)
noalerts.js
var n = document.createElement('script');
// TODO: add "script.js" to web_accessible_resources …Run Code Online (Sandbox Code Playgroud)