我正在开发一个 Chrome 扩展,其功能与在新选项卡中打开几乎相同,但“在新选项卡中打开”显然不允许打开 Intranet 文件的链接,例如 file://,因为 chrome security reasons 。因此,通过拥有此扩展程序,拥有此自定义扩展程序的用户将能够打开 url 链接。
我设法将一些内容放在当我选择链接文本的任何部分,然后右键单击上下文菜单时,它可以在新选项卡中打开链接。我现在想要的是能够右键单击链接而不选择文本。
我尝试将上下文类型更改为链接,但似乎不起作用。
这是进行选择然后在新选项卡中打开的background.js 代码。
我希望也许有人可以提供一些想法,或者片段代码,告诉我我可以在这里做什么来让我继续前进。
背景.js
var context = "selection";
var title = "Open Local File";
var id = chrome.contextMenus.create({
"title": title,
"contexts":[context],
"id": "context" + context}
);
// add click event
chrome.contextMenus.onClicked.addListener(onClickHandler);
function onClickHandler(info, tab) {
var sText = info.linkUrl;
var myUrl = sText;
chrome.tabs.create({ url: myUrl });
};
manifest.json
{
"name": "Right-click context sample",
"description": "sample",
"version": "0.0.1",
"permissions": ["contextMenus", "tabs", "<all_urls>"],
"background": {
"page" : "background.html",
"persistent": false
//"scripts": ["background.js"]
},
"manifest_version": 2
}
谢谢!
最佳答案
使用ContextType .
var context = "selection";
var title = "Open Local File";
var id = chrome.contextMenus.create({
"title": title,
"contexts":[context],
"id": "context" + context,
contexts:["all"]}
);
// add click event
chrome.contextMenus.onClicked.addListener(onClickHandler);
function onClickHandler(info, tab) {
var sText = info.linkUrl;
var myUrl = sText;
chrome.tabs.create({ url: myUrl });
};
关于javascript - Chrome 扩展程序 : ContextMenu Right click link instead of selectiontext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447683/