【问题标题】:How to disable chrome alert notification?如何禁用 chrome 警报通知?
【发布时间】:2016-06-03 11:53:49
【问题描述】:

我需要通过我的分机关闭警报通知。 alert 函数是一个 javascript 内置函数,我在内容脚本中覆盖了它,但它仍然有效。

内容脚本:

window.alert = function(){}

它不会关闭它。问题很简单,但它不起作用,我快疯了:)

manifest.json:

"content_scripts": [
    {
      "js": [ "assets/js/jquery-1.12.4.min.js", "assets/js/common.js", "assets/js/handlers.js" ],
      "matches": [ "http://*/*", "https://*/*" ],
      "run_at": "document_start"
    }
  ],

handler.js:

window.alert = function (msg) {
    debugger;
    console.log(msg);
}

【问题讨论】:

  • 您可能会查看已经执行此操作的扩展程序的源代码,例如 chrome.google.com/webstore/detail/alert-control/…
  • Can I prevent an alert() with a Google Chrome Extension 的可能重复项(请注意已接受答案的顶部评论 - 似乎无法再这样做)
  • 它对我不起作用。我已经试过了。
  • Dmitriy Khudorozhkov 的回答是正确的。我只是想强调代码需要注入到页面中。在内容脚本的沙盒环境中运行它是不够的。 (会有2个级别的注入:扩展注入内容脚本,内容脚本然后将代码注入页面。)

标签: javascript google-chrome-extension


【解决方案1】:

您无法在 Chrome 中全局关闭通知(至少,不是这样)。

通过做

window.alert = function(){}

您只需关闭您自己的扩展程序的通知(= 您自己的 window 上下文)。出于安全原因,您不能在全局范围内执行此操作(想想如果可能的话,恶意扩展会做什么)。

编辑:你居然can inject your code进入了内容页面;但这仍然不是您寻求的“全球”变化。如果你还想要这个,那么:

manifest.js 您的分机号:

{
    "name": "MyExtension",
    ...
    "permissions": ["tabs", "http://*/*"],
    "content_scripts" : [{
        "js" : ["script.js"]
    }]
}

还有你的script.js:

window.alert = function(){}

【讨论】:

  • @RockOnGom 我已经附加了我的答案。
【解决方案2】:

正如 Dmitriy 所说,它必须注入到页面中。效果很好,请为 Dimitry 投票,我刚刚添加了共享代码的答案。 竞争脚本:

 function override_alert() {
        window.alert = function alert(msg) {
            console.log('Hidden Alert ' + msg);
        };
    }
 if (!document.xmlVersion) {
        var script = document.createElement('script');
        script.appendChild(document.createTextNode('(' + override_alert + ')();'));
        document.documentElement.appendChild(script);
 }

【讨论】:

【解决方案3】:

你能试试这样的吗?

$(document).ready( function() { window.alert = function(){}; });

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 2015-02-13
  • 2020-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多