在Chrome扩展程序中打开新标签

问题描述:

我正试图编写一个简单的谷歌扩展程序,它将在点击“ctrl + alt + x”搜索google中的选定文本。在Chrome扩展程序中打开新标签

这是我mainfest:

{ 
    "name": "A jQuery Chrome extension", 
    "version": "0.1", 
    "description": "Use jQuery to build Chrome extensions", 
    "content_scripts": [ 
    { 
     "matches" : ["http://*/*"], 
     "js": ["jquery.js", "jquery.hotkeys.js", "content.js"] 
    } 
    ], 
    "background_page": "background.html", 
    "permissions": [ 
    "tabs" 
    ] 
} 

这是我content.js:

$(document).bind('keydown', 'alt+ctrl+x', function() { 

    var selectedText = window.getSelection().toString(); 

    if (selectedText) 
    { 
     var googleQuery = "http://www.google.com/search?q=" + selectedText; 
     alert(googleQuery); 
     chrome.tabs.create({"url" : googleQuery}); 
     alert(googleQuery); 
    } 
}); 

代码工作,直到行打开一个新标签(第一个警报弹出,但不第二)。我似乎无法得到它的工作。我错过了什么?

根据Google Chrome Content Scripts referencechrome.tabs(以及除chrome.extension之外的所有内容)都不适用于内容脚本。

或者,您可以尝试window.open(),或使用message passing让您的背景页面打开选项卡。

+2

Thx,我用消息传递。它像一个魅力。我现在可以通过按ctrl + alt + x来仅通过google选定的文本:) – synepis 2012-01-10 22:45:00