函数(事件)在一个Opera上下文菜单扩展
function(event) within an Opera context-menu extension
我正在尝试为Opera编写一个简单的扩展。它增加了一个"搜索谷歌图像",当你右键单击图像,就像在Chrome。类似的扩展已经存在,但这是为了学习。
我的第一次尝试使用onClick,这是不正确的方式。我用这个答案重写了我的bg.js文件。现在看起来像这样:
chrome.runtime.onInstalled.addListener(function() {
chrome.contextMenus.create({
title: "Search Google for image",
id: "gsearch",
contexts: ["image"]
});
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
if (info.menuItemId === "gsearch") {
function(event) {
chrome.tabs.create({
url: "https://www.google.com/searchbyimage?image_url=" + encodeURIComponent(event.srcUrl);
});
}
}
});
当我加载扩展时,Opera抱怨第11行,其中function(event) {
导致错误信息Unexpected token (
。很明显,我在中遗漏了一些关于语法的内容,非常感谢您的专业知识。
不能在if
块中声明函数。此外,info
可以传递给encodeURIComponent
。下面的代码可以工作:
chrome.runtime.onInstalled.addListener(function() {
chrome.contextMenus.create({
title: "Search Google for image",
id: "gsearch",
contexts: ["image"]
});
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
if (info.menuItemId === "gsearch") {
chrome.tabs.create({
url: "https://www.google.com/searchbyimage?image_url=" + encodeURIComponent(info.srcUrl)
});
}
});
谢谢你Bergi。
相关文章:
- 将函数的上下文应用于javascript变量
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 使用JQuery的动态上下文菜单
- 如何访问UIWebView'的子窗口上下文
- JQuery在单击正文时隐藏上下文菜单
- JQuery上下文菜单显示/隐藏问题
- 如何从HTTP上下文对象中获取Post数据
- HTML字符串作为上下文
- 为什么我的上下文选择器和.buttonset()在ie中花费了这么长时间
- 丢失对象“;这个“;方法中的上下文
- 防止在移动Safari(iPad/iPhone)中长按/长按默认上下文菜单
- d3防止在上下文菜单上触发mouseout
- 是否可以在不更改上下文的情况下调用函数.apply
- 调用$.each()函数时上下文发生变化
- 嵌入式pdf在Opera浏览器中总是名列前茅
- 何时可以;我的用户脚本在Javascript中触发右键单击(上下文菜单)
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- inline svg--getElementById在Opera中不起作用
- 网址栏/全能栏中的 Opera/Chrome 上下文菜单
- 函数(事件)在一个Opera上下文菜单扩展