Откройте новую вкладку в расширениях Chrome - PullRequest
0 голосов
/ 11 января 2012

Я пытаюсь написать простое расширение Google, которое при нажатии "ctrl + alt + x" будет искать выбранный текст в Google.

Это мой главный праздник:

{
  "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);
    }
});

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

1 Ответ

6 голосов
/ 11 января 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...