2

我已下載http://code.google.com/chrome/extensions/samples.html#ea2894c41cb8e80a4433a3e6c5772dadce9be90d。 我想使它它jQuery的,但如果我這樣做:使用jQuery的Chrome擴展程序

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> 

<script> 
$("div").css('background-color', 'black'); 

$('.click').click(function(){ 
    chrome.tabs.executeScript(null, 
    {code:"document.body.style.backgroundColor='" + $(this).attr('id') + "'"}); 
    window.close(); 
}) 
</script> 
<div class="click" id="red">red</div> 
<div class="click" id="blue">blue</div> 
<div class="click" id="green">green</div> 
<div class="click" id="yellow">yellow</div> 

這不工作。什麼都沒發生。爲什麼?

+3

閱讀 「常見錯誤」,在[jQuery的標籤維基(HTTP:/ /stackoverflow.com/tags/jquery/info);第一項適用。 – pimvdb 2012-02-15 14:14:27

+0

@pimvdb哇,這是一個很好的小文件(你鏈接到)。我幾乎每天都在使用StackOverflow一年,並且從未見過這個文檔。你應該在每個jQuery文章中發佈一個鏈接到這個文檔。謝謝! – 2012-02-15 16:14:30

+0

@Evik詹姆斯:老實說,我認爲它應該是相反的 - 在提問之前,問題海報會更好地檢查該頁面*。 – pimvdb 2012-02-15 16:19:13

回答

3

您不包括文件準備好處理程序,試試這個:

<script> 
    $(function() { 
     $("div").css('background-color', 'black'); 

     $('.click').click(function() { 
      chrome.tabs.executeScript(null, 
       {code:"document.body.style.backgroundColor='" + $(this).attr('id') + "'"}); 
      window.close(); 
     }) 
    }); 
</script> 
<div class="click" id="red">red</div> 
<div class="click" id="blue">blue</div> 
<div class="click" id="green">green</div> 
<div class="click" id="yellow">yellow</div> 

或者你可以讓所有的HTML是JavaScript加載之前你<script>標籤移動到之前的</body>標籤。

0

您需要包括jQuery的第一,像

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 

您應該檢查popup page console錯誤。

+0

我有這個,但仍然沒有任何反應 – 2012-02-15 14:24:20

0

環繞你的jQuery在此:

<script type="text/javascript"> 
$(document).ready(function() { 


}); 
</script> 

所以,你的jQuery應該是這樣的:

<script type="text/javascript"> 
$(document).ready(function() { 

    // YOUR CODE GOES HERE 

}) 
</script>