【问题标题】:Chrome Extension: Close tab that opened an external program beforeChrome 扩展程序:关闭之前打开外部程序的选项卡
【发布时间】:2013-09-05 01:30:33
【问题描述】:

我目前正在编写一个具有上下文菜单条目的 Chrome 扩展程序,当您单击它时,Chrome 会打开一个新选项卡,其地址使用不同的协议。 (我的例如称为 cmdown:// )

无论如何,问题是我无法在加载和打开处理协议的程序后关闭这些选项卡。

我的背景.js:

    chrome.contextMenus.removeAll();
    var name1 = localStorage["name1"];
    var name2 = localStorage["name2"];
    var name3 = localStorage["name3"];
    var path1 = localStorage["path1"];
    var path2 = localStorage["path2"];
    var path3 = localStorage["path3"];
    var menuids = [];

    function downloadImage(info, tab) {
        for(var i = 0; i < menuids.length; i++) {
            if(menuids[i] == info.menuItemId) {
                switch(i) {
                    case 0:
                    chrome.tabs.create({"url":"cmdown://"+info.srcUrl+";"+path1,"active":false}, function(tab){
                            //Close tab here
                        });
                        break;
                    case 1:
                        chrome.tabs.create({"url":"cmdown://"+info.srcUrl+";"+path2,"active":false}, function(tab){
                            //Close tab here
                        });
                        break;
                    case 2:
                        chrome.tabs.create({"url":"cmdown://"+info.srcUrl+";"+path3,"active":false}, function(tab){
                            //Close tab here
                        });
                        break;
                }
            }
        }
    }

if(typeof name1 != "undefined" && typeof path1 != "undefined") menuids[0] = chrome.contextMenus.create({"title": name1, "contexts":["image"],
                                       "onclick": downloadImage});
if(typeof name2 != "undefined" && typeof path2 != "undefined") menuids[1] = chrome.contextMenus.create({"title": name2, "contexts":["image"],
                                       "onclick": downloadImage});
if(typeof name3 != "undefined" && typeof path3 != "undefined") menuids[2] = chrome.contextMenus.create({"title": name3, "contexts":["image"],
                                       "onclick": downloadImage});

【问题讨论】:

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


    【解决方案1】:

    使用 chrome.tabs.query() 获取标签,然后使用 chrome.tabs.remove()

    关闭它

    http://developer.chrome.com/extensions/tabs.html

    【讨论】:

    • 我试过了,但我读到 queryInfo 的“url”参数在使用自定义协议时不起作用。 Look at the last one
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    相关资源
    最近更新 更多