小编Cur*_*ice的帖子

覆盖 Chrome 扩展中的 javascript 警报

我正在尝试构建一个 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)

javascript google-chrome-extension

4
推荐指数
1
解决办法
1533
查看次数