我正在尝试创建一个Chrome扩展程序,该扩展程序可以从用户右键单击图像或链接获取URL,并将此URL传递给Google搜索,所有这些都在上下文菜单中。
我在Firefox XPI上完美运行:
var cm = require("sdk/context-menu");
var tabs = require("sdk/tabs");
var searchMenu = cm.Item({
label: "defi!",
data: "https://www.google.co.il/search?hl=iw&gl=il&tbm=nws&authuser=0&q=",
context: cm.SelectorContext("a[href]"),
contentScript: 'self.on("click", function (node, data) {' +
' var searchURL = data + node.href;' +
' window.location.href = searchURL;' +
'});',
items: [searchMenu]
});
我想在Chrome上下文菜单扩展程序中发生同样的事情。几乎与这个问题类似:
Chrome Extension that copies image URL on click
我在发布问题之前让这个脚本正常工作但undefined
总是得到srcUrl
:
Damn.js
chrome.contextMenus.create({
title: "Blah",
contexts:["image", "link"],
onclick:function(info){
handleImageURL(info.srcUrl);
}
});
function handleImageURL(info) {
var data = "https://www.google.co.il/search?hl=iw&gl=il&tbm=nws&authuser=0&q=";
var searchURL = data + [info.srcUrl];
chrome.tabs.create({url: searchURL});
}
和 Manifest.json
{
"name": "blah",
"description": "blah",
"version": "1.0",
"permissions":["tabs", "contextMenus"],
"background": {"scripts":["damn.js"]},
"manifest_version": 2
}
但它现在根本没有工作......不知道为什么......
编辑以上脚本一直在谷歌搜索,但不提取图片或链接网址
答案 0 :(得分:1)
问题在于onclick部分。这有效:
chrome.contextMenus.create({
title: "Blah",
contexts:["image", "link"],
onclick:handleImageURL
});
答案 1 :(得分:-1)
您需要从onClick函数
返回数据info.srcURL