chrome扩展插入内容脚本在浏览器操作上

时间:2012-07-18 16:10:46

标签: javascript google-chrome-extension

我正在努力制作一个元素突出显示器chrome扩展。 工作流程:   - 单击浏览器图标   - 点击页面   - 高亮显示点击的元素

使用manifest_version在浏览器操作中运行内容脚本时遇到麻烦:2 当我检查出现的弹出窗口时,它说:

  

拒绝执行内联脚本,因为它违反了以下内容   内容安全策略指令:“script-src'self'   chrome-extension-resource:“(popup.html:5)。

popup.html中的内联脚本位于哪里且脚本不起作用

我有:

的manifest.json:

{
   "browser_action": {
      "default_icon": "images/icon.gif",
      "default_popup": "popup.html"
   },
   "manifest_version": 2,
   "description": "MEH!",
   "name": "My First Extension",
   "permissions": [
      "tabs", "http://*/*", "https://*/*"
   ],
   "version": "0.1"
}

popup.html:

<html>
  <head>
  </head>
  <body>
    <script>
      chrome.tabs.executeScript(null,{
        code:"document.body.style.backgroundColor='red'"
      });
    </script>
    <div id='msg' style="width:300px">...</div>
  </body>
</html>

非常感谢任何帮助

2 个答案:

答案 0 :(得分:44)

事实证明,在我在这里看到错误之前,我无法正确阅读错误

显然,清单v2不允许你有内联脚本,所以你只需要

src="path_to_the_file.js"

答案 1 :(得分:0)

延伸到@ tak3r的答案和@ Doug的评论:

需要将内联脚本更改为外部脚本。

移动:

<script>
  chrome.tabs.executeScript(null,{
    code:"document.body.style.backgroundColor='red'"
  });
</script>

到名为main.js的新文件中,删除<script></script>代码

在HTML的<head></head>中包含以下内容

<script type="text/javascript" src="main.js"></script>