【问题标题】:Extension not opening multiple links in new tab once uploaded to the chrome app store上传到 Chrome 应用商店后,扩展程序不会在新选项卡中打开多个链接
【发布时间】:2016-12-22 14:22:36
【问题描述】:

我正在尝试为我最常访问的网站制作带有标签的个人 Chrome 扩展程序。我的选项卡侧面有一个大边框,我想将其用作按钮,按下时会在新选项卡中打开每个链接。

我目前将按钮设置为:

<button class="left-button" onclick="topLeft()"></button>

我有一些这样的 JavaScript 设置:

function topLeft() {
  window.open('https://www.youtube.com');
  window.open('https://www.reddit.com');
  window.open('https://www.facebook.com');
  window.open('https://outlook.live.com');
};

在将其作为扩展程序上传到 Chrome 之前,上述内容可以完美运行(因为它在本地运行时可以正常工作)。将其作为扩展上传后,可以按下按钮,但没有任何反应。

我已尝试更换我的

window.open('url'); 

chrome.tabs.create({url: "myurls" });

但结果并不成功。

我的 manifest.json 文件如下所示:

{
  "manifest_version": 2,

  "name": "my extension",
  "description": "A Homepage extension.",
  "version": "1.0",

  "permissions": ["tabs"],

  "chrome_url_overrides" : {
      "newtab" : "index.html"
    }
}

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension tabs


    【解决方案1】:

    对于chrome扩展,默认Inline JavaScript will not be executed,这意味着onLeft方法不会被下面的行触发。

    <button class="left-button" onclick="topLeft()"></button>
    

    请尝试以下方式绑定点击处理程序:

    <button id="LEFT_BUTTON_ID" class="left-button" onclick="topLeft()"></button>
    
    document.getElementById('LEFT_BUTTON_ID').addEventListener('click', topLeft);
    

    【讨论】:

    • 我会删除 HTML 标记中的 onclick="topLeft()"
    猜你喜欢
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多