gpt4 book ai didi

javascript - Chrome 扩展 : ContextMenu Right click link instead of selectiontext?

转载 作者:行者123 更新时间:2023-11-29 21:37:31 25 4
gpt4 key购买 nike

我正在开发一个 chrome 扩展,其功能与在新选项卡中打开几乎相同,但“在新选项卡中打开”显然不允许打开内部网文件的链接,例如 file://由于 chrome security reasons .因此,通过拥有此扩展,拥有此自定义扩展的用户将能够打开 url 链接。

当我选择链接文本的任何部分时,我设法把一些东西放在那里,然后我右键单击上下文菜单,它能够在新选项卡中打开链接。我现在想要的是能够在不选择文本的情况下右键单击链接。

我试过将上下文类型更改为链接,但它似乎不起作用。

这是进行选择然后在新标签页中打开的 background.js 代码。

我希望也许有人可以就我可以在这里做些什么来让我继续前进提出一些想法和代码片段。

background.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 });

};

list .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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com