在弹出窗口中打开Chrome扩展程序链接

时间:2017-07-23 17:25:44

标签: javascript html google-chrome google-chrome-extension href

我正在尝试在<a class="two" href="https://chrome.google.com/webstore"> <img width="16" height="16" src="webstore.png" />Chrome Web Store </a> 内的非常简单的Chrome扩展程序中创建子菜单。我使用html成功创建了在新标签页中打开页面的链接。例如:

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

为了最大限度地减少<a class="two" href="submenu.html"> <img width="16" height="16" src="submenu.png" />Submenu </a> 中的链接数量,我想创建一个子菜单系统,用户点击链接在弹出窗口中打开一个新的html文档。

submenu.html

弹出窗口将包含更多链接,例如第一个示例中的Chrome Webstore链接。当然,这会在新标签页中打开DMax("TransactionID", "TransactionTable", "CustomerID = " & CustomerID & " AND TransactionID < " & [TransactionID]) ,而不是在Chrome扩展程序弹出窗口中。是否有一种简单的方法可以在弹出窗口中打开链接,而不是在新选项卡中打开?

谢谢。

1 个答案:

答案 0 :(得分:0)

我想我回答了自己的问题:

  1. 首先在name="newtab"

    时添加应用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. 对于所有其他链接,请继续;它们将在弹出窗口中打开。