我在manifest_scripts
下的manifest.json中定义了jQuery.js"background_page": "html/bg.html",
"content_scripts": [
{
"matches": ["\u003Call_urls\u003E"],
"js": ["js/jquery.js"/]
}
]
在bg.html中,我添加了一个点击事件处理程序来查找< p> ...< / p>节点
<script>
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {code: "alert($('p').text());"});
});
</script>
如果只是这样做,它可以正常工作。但是如果我在bg.htm中添加一个js引用,那么jQuery就不再工作了,甚至src =“”
<script type="text/javascript" src="../js/jquery.js">
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {code: "alert($('p').text());"});
});
</script>
background_page和content_script应该在不同的范围内,但仍然没有找到这里发生的事情。
答案 0 :(得分:2)
如果您的脚本标记具有src
属性,则不会解析内容。
见这里:http://jsfiddle.net/cnK7s/
相反,请使用2个单独的script
标记:
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {code: "alert($('p').text());"});
});
</script>