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 に答える