2013-03-01 2 views
5

Я хочу сделать расширение Chrome для изменения страницы результатов поиска Google. Я знаю, что могу использовать скрипт контента для этого, потому что у него есть возможность сделать это. Но, к сожалению, это не удается. Я написал кодИспользование расширения Chrome для изменения результата поиска Google Page

$('h3.r').append('<b>a</b>') 

или что-то еще, связанное с операциями DOM, все они потерпели неудачу. Но если я только что написал

alert('aa') 

или

document.body.style.backgroundColor='green' 

, это работает. Зачем? Кстати, я хочу иметь отладку, но когда я открываю инструменты для разработки, я не могу найти сценарий расширения контента. Я вижу сценарии содержания других расширений.

ответ

3

Вы добавили jQuery в свои content_scripts в манифесте?

Если вы используете JQuery, вы должны написать manifest.json так:

"content_scripts":[ 
     { 
      "matches":["http://www.google.com/*"], 
      "js":["jquery-1.9.1.min.js", "contentscripts.js"] 
     } 
] 

OK, после того, как прочитал исходный код страницы в Google странице результатов поиска, я думаю, что знаю, в чем проблема:

Google поиск грузов результат с AJAX, поэтому, когда вы меняете слова запроса и снова выполняете поиск, страница НЕ обновляется, поэтому вы не можете получить какие-либо элементы DOM в результатах поиска.

Это означает, что вы должны добавить прослушиватель событий для DOMNodeInserted.

код выглядит так:

function fundH3(){ 
    $('h3.r').append('<b>a</b>') 

} 

searchResultArea.addEventListener('DOMNodeInserted', findH3); 
+0

Да, Я сделал. И теперь проблема в том, что я не могу получить ни одного узла DOM страницы. И кажется, что сценарий запускается до загрузки DOM, хотя я добавляю run_at: document_end – user2086454

+0

@ user2086454: добавили ли вы разрешения к манифесту, поделитесь соответствующим кодом, он будет полезен далее – Sudarshan

+0

эй, я обновил ответ, Я надеюсь, что это поможет –

0

Добавить права доступа к URL (S) вы таргетинг в файл манифеста

{ 
--- 
    "permissions": [ 
     "https: //www.google.co.in/*" 
    ] 
--- 
} 

Ссылка

Смежные вопросы