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>