Расширение Chrome не работает - PullRequest
0 голосов
/ 08 ноября 2011

Я использовал следующий код для открытия URL текущей страницы в Rich Snippet Testing Tool. Проблема в том, что расширение работает нормально при первом клике и открытии URL. Но если URL-адрес страницы тестирования открыт, он не позволит открыть другую.

Мое требование - открывать несколько страниц одновременно с помощью этого инструмента. Но я могу открыть только по одному за раз.

Мой файл манифеста:

{
  "name": "RS Analyzer",
  "description": "Extension to get current page URL and display its Rich Snippets.",
  "version": "1.4",
  "background_page": "background.html",
  "permissions": [
    "tabs", "http://*/*", "https://*/*"
  ],
  "icons":{"16": "images/R_icon_16x16.jpeg",
           "48": "images/R_icon_48x48.jpeg",
          "128": "images/R_icon_128x128.jpeg"},
  "browser_action": {
      "default_title": "RS Analyzer",
      "default_icon": "images/icon.jpg"
  }
}

Моя фоновая страница:

chrome.browserAction.onClicked.addListener(function(tab){
    chrome.tabs.getSelected(null,function(tab) {
    var tablink = tab.url;
    var richurl = "http://www.google.com/webmasters/tools/richsnippets?url=" + encodeURIComponent(tablink) + "&view=";
    window.open(richurl,'_newtab');
    });
  });

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Chrome не понимает "_newtab", он рассматривает его только как идентификатор для вкладки, поэтому он открывает следующую для той же вкладки.Использование «_blank» обычно открывает новую вкладку, но это зависит от настроек пользователя (может также открыться новое окно).

Если вы хотите новую вкладку, вам, вероятно, следует взглянуть на API вкладок Расширения Chrome.У них есть метод создания .Вам потребуется установить разрешения для расширения.

1 голос
/ 08 ноября 2011

Это потому, что вы дали окну (вкладке) имя. Это означает, что одна и та же вкладка используется каждый раз. Это как идентификатор вкладки.

Вы можете решить эту проблему, удалив имя:

window.open(richurl);
...