gpt4 book ai didi

javascript - 谷歌浏览器扩展和上下文菜单 : How to use one function for multiple purposes?

转载 作者:行者123 更新时间:2023-11-30 09:02:55 24 4
gpt4 key购买 nike

这里是我想做的一个例子,为了在这里发布,它已经被简化了。我想添加几个实际上调用相同函数的上下文菜单项,然后在函数内部我希望能够区分调用了哪个函数并相应地对其进行操作。

此示例添加了两个上下文菜单项,一个用于使用 bit.ly 缩短链接,另一个用于使用 tinyURL

chrome.contextMenus.create({'title': 'Shorten with bit.ly',
'contexts': ['all'],
'onclick': shortenLink});

chrome.contextMenus.create({'title': 'Shorten with tinyURL',
'contexts': ['all'],
'onclick': shortenLink});

接收函数看起来像这样,默认情况下 infotab 都随请求一起发送,但我想我不知道哪个上下文菜单调用了该函数。

function shortenLink(info, tab){


}

这是这两个变量的控制台转储:

Picture.png

我知道我可以为每个项目设置单独的功能,但是我想添加很多上下文菜单项,它们都共享很多相同的代码,所以我真的很想只有一个"dispatch" "他们都使用的功能。我该怎么做?

编辑

也许我可以通过使用 menuItemId 变量找出调用它的菜单项,但是我可以传递一个附加参数或一些附加数据,例如 {method:'bitly' }?

最佳答案

chrome.contextMenus.create({'title': 'Shorten with bit.ly',
'contexts': ['all'],
'onclick': function(info, tab) {
shortenLink(info, tab, {method:'bitly'});
});

function shortenLink(info, tab, methodObj){
...
}

关于javascript - 谷歌浏览器扩展和上下文菜单 : How to use one function for multiple purposes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7726981/

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