尝试阻止Chrome通过扩展程序关闭

时间:2016-05-18 13:58:40

标签: javascript google-chrome google-chrome-extension

我正在尝试制作一个Chrome扩展程序,要求在关闭Chrome时进行确认,并且根据响应,将关闭Chrome或保持打开状态,但无法找到合适的API。我尝试了chrome.windows.onRemoved.addListener方法,但这并不能阻止Chrome关闭。我该如何实现呢?以下是我的附件: -

的manifest.json

{
    "manifest_version":2,
    "version":"1.0",

    "name":"STFU",
    "description":"Asks before closing ;)",

    "browser_action":
    {
        "default_icon":"icon.png"
    },
    "background":{
        "scripts":["background.js"]
    },
    "permissions":[
        "tabs"
    ]
}

background.js

function yo(){
    chrome.windows.onRemoved.addListener(function(windowID){
        var answer = confirm("Are you sure you want to leave ?");
    });
}
chrome.browserAction.onClicked.addListener(yo);

我甚至尝试了window.onbeforeunload功能,但这没有做任何事情。

1 个答案:

答案 0 :(得分:4)

您无法从后台页面执行此操作。事实上,浏览器关闭时有no event that you can process,无法取消浏览器。扩展不应该能够阻止它。

您可以将onbeforeunload handlers注入所有标签页,但这样做最笨拙,可能无效,具体取决于用户是否与标签内容进行了互动。