如何使用chrome扩展注入外部脚本

时间:2016-06-07 20:17:31

标签: javascript google-chrome google-chrome-extension

这是我第一次编写chrome扩展程序。

我需要使用chrome扩展程序加载外部脚本到当前页面。 现在我正在使用调试器模式(f12)加载脚本,并且在控制台选项卡中我正在运行getScript(“http://www.mypath.com/ ....”)并且我希望通过单击来传递所有这些镀铬扩展。

到目前为止我所做的(通过阅读一些tutrials)是

manifest.json文件

{
  "manifest_version": 2,

  "name": "Getting started example",
  "description": "first extention",
  "version": "1.0",
  "content_scripts": [
    {
      "matches": ["http://*/*"],
      "js": ["jquery-1.12.4.min.js", "test.js"]
    }
  ],
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },

    "permissions": [ "tabs", "<all_urls>", "http://www.mypath.com*", "http://*/*", "https://*/*", "http://*.google.com/" ],
    "background": {
    "page": "background.html"
  },
     "content_security_policy": "script-src 'self' http://www.mypath.com; object-src 'self'"
}

popup.html文件

 <html>
<head>
</head>
<body>
    <button id="btn" name="btn">click here</button>

    <script src="jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="test.js"></script>
</body>
</html>

test.js文件

document.getElementById("btn").addEventListener("click", getUrl);
function getUrl() {  
jQuery.getScript("http://www.mypath.com/.....");
}

看来它不起作用, 有人可以对它有所了解吗?

谢谢

1 个答案:

答案 0 :(得分:0)

试试这个:

test.js

 chrome.browserAction.onClicked.addListener(function(tab) {
        chrome.tabs.executeScript(null,
                           {file:"http://www.mypath.com/....."});
    });

function getUrl() {  
chrome.tabs.executeScript(null,
                           {file:"http://www.mypath.com/....."});
}

的manifest.json

"permissions": [
    "tabs", "http://www.mypath.com"
 ],

参考:https://developer.chrome.com/extensions/tabs#method-executeScript