创建Chrome扩展程序以在新标签页中打开链接

use*_*739 10 google-chrome-extension

我想创建一个简单的chrome扩展,点击它时会在新的浏览器选项卡中打开一个URL.这就是我对manifest.jason的看法

{
    "name": "Sprout Social",
    "description": "Shortcut to Sprout Social",
    "permissions": [
        "tabs"
    ],
    "icons": {
        "128": "128.png"
    },
    "launch": {
        "web_url": "http://www.sproutsocial.com"
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.

Ale*_*tri 15

好的,首先,manifest.json(不是jason)有一个严格的结构,你不能搞砸它.

https://developer.chrome.com/extensions/manifest.html

您必须创建一个浏览器操作扩展,这意味着您的扩展程序将在工具按钮附近有一个按钮.

https://developer.chrome.com/extensions/browserAction.html

您不需要任何popup.html,您可以跳过该部分.您需要编写后台页面,很多人将其命名为background.html此HTML文件将包含您的代码,格式如下:

<html><head><script> your script here (use as many lines as you want)  </script></head>/html>
Run Code Online (Sandbox Code Playgroud)

这个HTML永远不会出现.

代码可以是你想要的任何东西,比如其他答案中的代码:

chrome.browserAction.onClicked.addListener(function() {
    chrome.tabs.create({'url': "http://www.sproutsocial.com"});
});
Run Code Online (Sandbox Code Playgroud)

就是这样.

  • YoArgentino的工作.再次感谢.:) (2认同)

Iva*_*nRF 5

更简单的解决方案,您不需要HTML.

将其添加到manifest.json

"browser_action": {
    "default_icon": "images/icon38.png",
    "default_title": "Your title"
},
"background": {
    "scripts": ["background.js"],
    "persistent": false
}
Run Code Online (Sandbox Code Playgroud)

使用以下代码创建background.js文件:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.create({ url: "http://www.yoursite.com" });
});
Run Code Online (Sandbox Code Playgroud)

注意:我没有添加"permissions": ["tabs"]manifest.json,因为它添加了权限警告:"读取您的浏览历史记录",这可能会让用户感到困惑.扩展仍然有效.


Fla*_*ape 2

我认为您想要在模式中定义的方法是

  chrome.tabs.create

 chrome.browserAction.onClicked.addListener(function() {

      chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {

      });

 });
Run Code Online (Sandbox Code Playgroud)