2012-01-10 5 views
0

Я пытаюсь написать простое расширение Google, которое при нажатии «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); 
    } 
}); 

код работает до линии для открытия новой вкладки (первое предупреждение выскакивает, но не второй). Я просто не могу заставить его работать. Что мне не хватает?

ответ

5

Согласно Google Chrome Content Scripts reference, chrome.tabs (и все, кроме chrome.extension), недоступны для содержания скриптов.

В качестве альтернативы вы можете попробовать window.open() или использовать message passing, чтобы ваша справочная страница открыла вкладку.

+2

Thx, я пользовался сообщение передача. Оно работало завораживающе. Теперь я могу выбрать текст, выделенный Google, только нажав ctrl + alt + x :) – synepis

Смежные вопросы