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

Posted

技术标签:

【中文标题】上传到 Chrome 应用商店后,扩展程序不会在新选项卡中打开多个链接【英文标题】:Extension not opening multiple links in new tab once uploaded to the chrome app store 【发布时间】: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"
    

【问题讨论】:

【参考方案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()"

以上是关于上传到 Chrome 应用商店后,扩展程序不会在新选项卡中打开多个链接的主要内容,如果未能解决你的问题,请参考以下文章

解决“只能通过Chrome网上应用商店安装该程序”的方法

解决“只能通过Chrome网上应用商店安装该程序”的方法

解决“只能通过Chrome网上应用商店安装该程序”的方法

从脚本安装 Google Chrome 扩展

Chrome 商店老是打不开?一招教你轻松下载安装插件

解决“只能通过Chrome网上应用商店安装该程序”的方法