我想将url传递给外部程序(使用程序打开url),但不创建新的选项卡/窗口。我使用" chrome.contextMenus.create"用程序打开网址:右键点击链接& "打开外部程序":http://postimg.org/image/usj1yb8gj/
我为chrome-extension编写了下一个代码:
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秒钟打开网址。 可以 uri-scheme:地址(当uri与特定程序相关联时)使用上下文菜单打开而不创建新标签页?< / p>
答案 0 :(得分:1)
OMG。我只需要将create
替换为update
- chrome.tabs.update({...});