繁体   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