簡體   English   中英

Javascript,Chrome擴展開發,關閉彈窗

[英]Javascript, Chrome Extension development, close popup

在我的清單中,我有這個:

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

這完全符合我的要求,它會打開一個帶有寄存器的新選項卡。html 但它仍然在右上角打開了彈出窗口:( (1_options.html)

當我打開這個新標簽時,是否有自動關閉彈出窗口?

謝謝! 瑞安

你有沒有嘗試過:

self.close();

有幾種方法可以做到這一點,但最簡單的方法是調用:

window.close();

您甚至可以在創建選項卡時在回調 function 中執行此操作...

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

您還可以在后台腳本中添加一個偵聽器來檢查選項卡更新,如果您的新選項卡是您的注冊 window,您可以刪除彈出窗口:

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);
      }
  }
});
      chrome.tabs.create({url: '0_register.html', selected: true});

如果您不介意在創建新選項卡時選擇它,這也會強制彈出窗口關閉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM