【发布时间】:2016-08-31 18:30:00
【问题描述】:
我正在尝试为 Opera 编写一个简单的扩展。当您右键单击图像时,它会添加“在 Google 上搜索图像”,就像在 Chrome 中一样。类似的扩展已经存在,但这是为了学习。
我第一次尝试使用onClick,这不是正确的方法。我使用this answer 重写了我的 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 块中的函数声明在 ES5 中是无效的,而您的甚至没有名称(使其无效两倍)。该功能到底应该做什么?放下它。
-
谢谢。如果没有该功能,我如何将
event传递给encodeURIComponent? -
event应该是什么?不是和info一样吗? -
确实如此。我不明白。
标签: javascript syntax opera