chrome扩展复制图像或链接目标网址

时间:2015-01-12 01:13:50

标签: javascript google-chrome-extension

我正在尝试创建一个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
}

但它现在根本没有工作......不知道为什么......

编辑以上脚本一直在谷歌搜索,但不提取图片或链接网址

2 个答案:

答案 0 :(得分:1)

问题在于onclick部分。这有效:

chrome.contextMenus.create({
  title: "Blah", 
  contexts:["image", "link"], 
  onclick:handleImageURL
});    

答案 1 :(得分:-1)

您需要从onClick函数

返回数据info.srcURL