0

我在 content_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 应该在不同的范围内,仍然找不到这里发生了什么。

4

1 回答 1

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>
于 2012-07-08T05:46:24.220 回答