Google chrome Google Chrome Extensions-单击工具栏图标时打开新选项卡

Google chrome Google Chrome Extensions-单击工具栏图标时打开新选项卡,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我如何为Chrome创建一个扩展,在工具栏上添加一个图标,当您单击它时,它会打开一个带有一些本地网页的新选项卡(例如:f.html) 我看到了,但它并没有真正解释我应该在清单文件中添加什么…好吧,在中,它声明,您需要包括“选项卡”作为其权限。与他们解释hello world应用程序的方式相同: 清单文件: { "name": "My Extension", "version": "1.0", "description": "Opens up a local webpage", "

我如何为Chrome创建一个扩展,在工具栏上添加一个图标,当您单击它时,它会打开一个带有一些本地网页的新选项卡(例如:f.html)

我看到了,但它并没有真正解释我应该在清单文件中添加什么…

好吧,在中,它声明,您需要包括“选项卡”作为其权限。与他们解释hello world应用程序的方式相同:

清单文件:

{
  "name": "My Extension",
  "version": "1.0",
  "description": "Opens up a local webpage",
  "icons": { "128": "icon_128.png" },
  "background_page": "bg.html",
  "browser_action": {
    "default_title": "",
    "default_icon": "icon_19.png"
  },
  "permissions": [
    "tabs"
  ],
}
在中,您将听到浏览器操作上的鼠标单击事件

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.create({'url': chrome.extension.getURL('f.html')}, function(tab) {
    // Tab opened.
  });
});

正如你在上面注意到的,你会发现我使用了你在另一篇文章中看到的问题。注意,这并没有经过测试,但我相信它应该可以工作。

对于较新的chrome应用程序来说,这是不正确的

更新的chrome应用程序的清单_版本:2 需要将选项卡打开为:



chrome.tabs.create需要“tabs”的权限

只需使用窗口。在扩展中打开,无需任何权限。而且代码更短。我建议这个解决方案

window.open(url,'_blank');

这是一个更好、更及时、更准确的答案,FYI@DehanWjiesekara将其放入例如background.js中,并在manifest.will
选项卡中添加
“background”:{“scripts”:[“background.js”]}
。在加载基本上只有本地index.html的未打包扩展名的上下文中,在onInstalled中使用时,创建
激发,还有一个background.js,它现在只在一个新选项卡中打开index.html?由于某些原因,我现在无法使用,一定是我缺少了一些简单的东西。请记住,使用“tabs”权限将在安装时向用户显示一条警告,即chrome扩展需要“读取您的浏览历史”,但如果您只想打开一个新选项卡,则只需使用“activeTab”权限即可,它不会触发那个警告。你们必须这么做,不是吗?我在扩展中使用了相同的代码,在点击通知按钮时打开了新的标签。但3个月后,当我点击那个按钮时,我发现aw..snap页面错误。你知道为什么会这样吗?注意:如果我使用另一个url,如www.google.com,它可以正常工作,但不适用于我的网站。这似乎对我有效(尽管我只在我正在使用的本地非绑定扩展中尝试过)。请注意,添加“标签”权限将在安装时向用户显示“阅读您的浏览历史记录”权限警告。文档说,大多数
chrome.tabs
不需要此权限,因为我没有密切注意这一点,我最近失去了数百名来自
window.open(url,'_blank');