javascript - 扩展程序在上传到 chrome 应用商店后不会在新选项卡中打开多个链接

标签 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"
    }
}

最佳答案

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

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

请尝试以下方式绑定(bind)点击处理器:

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

document.getElementById('LEFT_BUTTON_ID').addEventListener('click', topLeft);

关于javascript - 扩展程序在上传到 chrome 应用商店后不会在新选项卡中打开多个链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41285291/

相关文章:

javascript - 页面刷新时更改图像有时会继续加载相同的图像

javascript - 如何使用 JQuery 或 Javascript 将 'required' 添加到基于段落类的输入字段?

javascript - 无法执行 React 组件中传递的函数

html - 奇怪的 HTML 和 CSS 行为

google-chrome - Chrome扩展修改FormData

google-chrome - Chrome API 响应 header

javascript - 将 firebase 数据库连接到 chrome 扩展

javascript - 使用Logical `&&`与Ternary运算符渲染组件

windows - 如何通过BAT文件打开chrome 2次

jQuery Chrome - 禁用回车键