使用URI Scheme打开外部程序,而不创建新的选项卡



我想传递url到外部程序(打开url与程序),但不创建新的选项卡/窗口。我使用了"chrome.contextMenus"。用程序创建"打开url":右键单击链接&"打开外部程序":http://postimg.org/image/usj1yb8gj/

我为我的chrome扩展名写了下一个代码:

chrome.runtime.onInstalled.addListener(function() {
    chrome.contextMenus.create({
        title: 'Open with some program',
        id: 'nameOfprogram',
        contexts: ['link'],
    });
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
    if (info.menuItemId === "nameOfprogram") {
        //var win = window.open("NameOfUriScheme://" + info.linkUrl, '_blank'); // '_self' - doesn't work...
        chrome.tabs.create({ url: "NameOfUriScheme://" + info.linkUrl },function(tab){setTimeout(function(){chrome.tabs.remove(tab.id);}, 1000);});
        }
});

但是它打开新选项卡1秒打开url。可以uri-scheme: address (当uri与特定程序相关联时)打开而不创建当您使用上下文菜单打开它时?

天哪!我只需要将create替换为update - chrome.tabs.update({...});

相关内容

  • 没有找到相关文章

最新更新