单击工具栏图标时,在新标签页中打开Chrome扩展程序

大汉姆

我希望扩展HTML在新选项卡中打开,而不是在弹出窗口中打开。现有的扩展Session Session Buddy具有我想要复制的确切行为。

问题在于,当我单击工具栏图标时,Chrome会不停地打开新的扩展程序选项卡,而所需的行为是(显然)只是打开了一个选项卡。奇怪的是,当我使用https://stackoverflow.com/之类的“ Web URL”时,只能打开一个选项卡

manifest.json

{
    "manifest_version": 2,
    "name": "angular chrome extension boilerplate",
    "version": "1.0.0",
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },
    "permissions": [
        "activeTab",
        "tabs",
        "background"
    ],
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}

background.js

chrome.tabs.create({ url: chrome.extension.getURL('index.html') });

这个网站上的几篇文章都有类似的问题,但是没有建议的解决方案对我有用:

大汉姆

事实证明,正确的方式在点击工具栏图标的号召包去开一个选项卡chrome.tabs.create()中的onClicked监听器:

修改后background.js

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.create({ url: chrome.extension.getURL('index.html'), selected: true });
});

最初,这不会因工作chrome.browserAction.onClickedundefined为了解决这个问题,需要向添加一个空"browser_action"对象manifest.json同样,以前使用的持久性背景和activeTab权限也是不必要的,可以将其删除:

修改后manifest.json

{
    "manifest_version": 2,
    "name": "angular chrome extension boilerplate",
    "version": "1.0.0",
    "browser_action": { },
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "permissions": [
        "tabs",
        "background"
    ],
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Chrome扩展程序:URL未在新标签页中打开

当用户单击工具栏中的扩展图标时,如何通过 webExtension 更改文档元素?

单击时更改工具栏中的图标

编辑 Chrome 扩展程序(Adblock)代码,使其在安装时不会打开新标签页

Chrome扩展程序-在新标签页中打开捕获的屏幕截图

Chrome扩展程序:如何在新标签页中打开链接?

简单的Chrome扩展程序:在新标签页中打开一个网址

Chrome扩展程序在新标签页上打开新标签页

在新标签页中打开图像时的图标

为什么某些Chrome扩展程序在扩展程序工具栏中显示为灰色?

单击扩展程序图标时,在新选项卡中打开扩展程序的options.html页面

Chrome扩展程序在新标签页中运行js

单击“ EditText”视图时工具栏会扩展

单击工具栏中的调用导航图标 (android)

打开新标签页/新窗口时,自动打开Chrome开发者工具

无法使用Chrome扩展程序弹出窗口中的按钮打开新标签页

Chrome扩展程序:打开新标签页,而不会失去弹出窗口的焦点

自动为新标签页打开Chrome开发工具

单击其他程序工具栏中的按钮

在Firefox非覆盖扩展程序中,如何将文本添加到浏览器工具栏图标?

如何在运行时更改Safari应用程序扩展中的工具栏图标?

单击chrome扩展程序图标时,在新窗口中打开当前页面的URL

单击工具栏上的汉堡包图标不会打开导航抽屉

在菜单图标上未打开导航抽屉,在工具栏上单击

滚动标签中的片段时隐藏/显示工具栏

单击鼠标中键并不总是在Chrome的新标签页中打开链接

如何通过单击Chrome扩展程序图标打开mailto链接?

扩展活动时的工具栏

从工具栏中删除图标