簡體   English   中英

在彈出窗口中打開Chrome擴展程序鏈接

[英]Open Chrome extension link within popup

我正在嘗試在popup.html中的一個非常簡單的Chrome擴展程序中創建子菜單。 我已經成功創建了使用html在新標簽頁中打開頁面的鏈接。 例如:

<a class="two" href="https://chrome.google.com/webstore">
  <img width="16" height="16" src="webstore.png" />Chrome Web Store
</a>

我在popup.js添加了以下事件監聽器,以使其正常工作:

document.addEventListener('DOMContentLoaded', function () {
  var links = document.getElementsByTagName("a");
  for (var i = 0; i < links.length; i++) {
    (function () {
      var ln = links[i];
      var location = ln.href;
      ln.onclick = function () {
        chrome.tabs.create({active: true, url: location});
      };
    })();
  }
});

為了最大程度地減少popup.html的鏈接popup.html ,我想創建一個子菜單系統,用戶在其中單擊鏈接以在彈出窗口中打開新的html文檔。

<a class="two" href="submenu.html">
  <img width="16" height="16" src="submenu.png" />Submenu
</a>

在第一個示例中,彈出窗口將包含更多鏈接,例如指向Chrome Webstore的鏈接。 當然,這submenu.html在新標簽頁中打開submenu.html ,而不是在Chrome擴展程序彈出窗口中打開。 有沒有一種簡單的方法可以在彈出窗口中而不是在新標簽頁中打開鏈接?

謝謝。

我想我回答了自己的問題:

  1. 首先僅在name="newtab"時添加apply EventListener

     document.addEventListener('DOMContentLoaded', function () { var links = document.getElementsByName("newtab"); for (var i = 0; i < links.length; i++) { (function () { var ln = links[i]; var location = ln.href; ln.onclick = function () { chrome.tabs.create({active: true, url: location}); }; })(); } });` 
  2. name="newtab"添加到要在新選項卡中打開的每個<a>中。

  3. 對於所有其他鏈接,請正常進行。 它們將在彈出窗口中打開。

暫無
暫無

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

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