2

Скачано http://code.google.com/chrome/extensions/samples.html#ea2894c41cb8e80a4433a3e6c5772dadce9be90d. Я хотел бы сделать это он JQuery, но если я делаю:Расширения Chrome с jQuery

<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

+0

@pimvdb Ничего себе, какой красивый маленький документ (к которому вы привязались). Я использую StackOverflow в течение года, почти ежедневно, и никогда не видел этот документ. Вы должны опубликовать ссылку на этот документ на каждом сообщении jQuery. Благодаря! –

+0

@ Evik James: Честно говоря, я думаю, что это должно быть наоборот. Вопрос-плакат будет лучше проверять эту страницу * перед тем, как задавать вопрос. – pimvdb

ответ

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> 

В качестве альтернативы вы можете переместить <script> тег непосредственно перед </body> тега, так что загружается все HTML перед JavaScript.

0

Вам нужно включить JQuery первый, как

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

Вы должны проверить popup page console на наличие ошибок.

+0

У меня это есть, но все равно ничего не происходит –

0

Оберните JQuery в этом:

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


}); 
</script> 

Итак, ваш JQuery должен выглядеть следующим образом:

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

    // YOUR CODE GOES HERE 

}) 
</script> 
Смежные вопросы