How to disable chrome alert notification?

半世苍凉 提交于 2020-07-20 04:04:05

问题


I need to turn alert notification off by my extension. The alert function is a javascript built-in function and i override it like below in content script but it still works.

content script:

window.alert = function(){}

It does not turn it off. The problem is realy simple but it does not work and i am going crazy :)

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);
}

回答1:


You can't switch off notifications globally in Chrome (at least, not that way).

By doing

window.alert = function(){}

you simply switch off notifications for your own extension (= your own window context). You can't do this globally for security reasons (think what malicious extension could do if this was possible).

Edit: you actually can inject your code into the content pages; but this is still not a "global" change that you seek. If you still want this, then:

manifest.js of your extension:

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

And your script.js:

window.alert = function(){}



回答2:


As Dmitriy mention it must be injected to the page. It works great please vote for Dimitry i just added the answer for sharing my code. contend script:

 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:


Could you try something like this?

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



来源:https://stackoverflow.com/questions/37613727/how-to-disable-chrome-alert-notification

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!