window.open有什么用('',' _self')。close();在chrome扩展中

时间:2015-08-12 10:04:03

标签: google-chrome-extension

  1. 点击扩展程序图标后,会显示一个弹出窗口。

  2. 之后,当我尝试点击" URL限制"时,它会打开一个窗口,之后当我再次点击弹出窗口时,弹出窗口会重叠该url限制窗口。

  3. 上述问题仅在Windows上发生,而不是在Linux上发生。

  4. 所以我添加了window.open('','_self').close();,显然解决了这个问题。但不完全是。这是对的吗?我已经提到了LinkLink2,但无法理解其含义。

    window.open('','_self').close();的目的是什么? 编辑:这是我的popup.js

      function click(e) {
    
    
        var windowObj = window.open(site_exception_url, 'url_window', params);     
        windowObj.focus();
        window.close();
        window.open('','_self').close();
        return false;
    

    }

1 个答案:

答案 0 :(得分:1)

在Windows上,从弹出窗口中的链接打开新窗口后,弹出窗口不会自动关闭。

在手动点击处理程序中关闭它,这不会损害Linux,但会对Windows有所帮助:

document.addEventListener("click", function(event) {
    if (event.target.localName == "a") {
        close();
    }
});

您问题中链接的相关问题不适用于此处,因为第一个是针对用户脚本而不是扩展名,第二个问题不适用于单击工具栏按钮时浏览器显示的弹出窗口。