一旦上传到Chrome应用商店,扩展程序就不会在新标签页中打开多个链接

时间:2016-12-22 14:22:36

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

我正在尝试为我访问量最大的网站制作带有标签的个人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"
    }
}

1 个答案:

答案 0 :(得分:2)

对于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);