我刚开始使用Chrome扩展程序,我需要使用jQuery。我按照我能找到的所有教程和Stackoverflow的答案,但它只是不起作用。
这是我的清单文件:
{
"manifest_version": 2,
"name": "some.site",
"description": "For adding assets to some.site.com",
"version": "1.0",
"permissions": [
"http://some.site.com",
"storage"
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://jquery.com/*"],
"js": ["jquery-1.11.0.min.js"]
}
]
}
这是我的HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<script src="jquery-1.11.0.min.js" type="text/javascript"></script>
</head>
<body>
<div id="test">hello</div>
</body>
<script>
$('#test').html('booger');
</script>
</html>
直接在浏览器中加载时,一切正常,但是当我点击扩展图标时,它不起作用。
答案 0 :(得分:3)
由于内容安全政策,您无法在Chrome扩展程序中编写内联脚本,因此以下内联代码:
<script>
$('#test').html('booger');
</script>
甚至不会执行。您必须将其移动到单独的文件中。
的更多信息(以及很好的例子)直接加载它的原因是因为那时 - 你只需将页面视为html文档。 Chrome未将其作为扩展程序加载,因此不会应用任何限制。