Javascript, разработка Chrome Extension, всплывающее окно - PullRequest
0 голосов
/ 15 июля 2011

В моем манифесте у меня есть это:

"popup": "1_options.html"

и в приведенном выше HTML-файле у меня есть этот код

  var saved_email = localStorage['saved_email'];
  if (saved_email !== undefined ||  saved_email != "a@a.com") 
  {
      chrome.tabs.create({url: '0_register.html'});
  }

, который работает именно так, как я хочу, он открывает новыйвкладка с register.html, НО в ней по-прежнему открыто всплывающее окно в правом верхнем углу :( (1_options.html)

есть ли в любом случае, чтобы закрыть всплывающее окно автоматически при открытии этой новой вкладки?Райан

Ответы [ 3 ]

2 голосов
/ 15 июля 2011

Есть несколько способов сделать это, но самый простой - просто позвонить:

window.close();

Вы даже можете сделать это в функции обратного вызова при создании вкладки ...

chrome.tabs.create({url: '0_register.html'}, function() {
  window.close();
});

Вы также можете добавить прослушиватель в фоновом скрипте для проверки обновлений вкладок, и, если ваша новая вкладка - это окно регистрации, вы можете удалить всплывающее окно:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
  if(changeInfo.status == "loading") {
      if(tab.url == "chrome-extension://[extension-id]/0_register.html") {
          chrome.tabs.remove(tabId);
      }
  }
});
2 голосов
/ 15 июля 2011

Вы пробовали:

self.close();
1 голос
/ 15 ноября 2011
      chrome.tabs.create({url: '0_register.html', selected: true});

Если вы не возражаете против выбора новой вкладки при ее создании, это также заставляет всплывающее окно закрываться.

...