2013-03-01 11 views
5

Chcę utworzyć rozszerzenie Chrome, aby zmodyfikować stronę wyników wyszukiwania Google. Wiem, że mogę użyć skryptu zawartości, aby to zrobić, ponieważ ma on taką możliwość. Ale niestety nie. Napisałem kodUżyj rozszerzenia Chrome do zmodyfikowania wyniku wyszukiwania Google Strona

lub coś innego związanego z operacjami DOM, które wszystkie zawiodły. Ale jeśli ja po prostu napisał

alert('aa') 

lub

document.body.style.backgroundColor='green' 

, to działa. Czemu? Tak przy okazji, chcę mieć debugowanie, ale kiedy otworzę narzędzia programistyczne, nie mogę znaleźć skryptu rozszerzenia. Widzę skrypty zawartości innych rozszerzeń.

Odpowiedz

3

Czy dodałeś jQuery do swojego content_scripts w manifeście?

Jeśli używasz jQuery, należy napisać manifest.json takiego:

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

OK, po odczytać źródło strona google stronie wyników wyszukiwania Chyba wiem w czym jest problem:

Google wyszukiwania ładunków wynik w AJAX, więc po zmianie słów zapytania i ponownym wyszukiwaniu strona NIE ODESZCZA, dlatego nie można uzyskać żadnych elementów DOM w wyniku wyszukiwania.

Oznacza to, że należy dodać detektor zdarzeń dla DOMNodeInserted.

Code jest tak:

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

} 

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

Tak, Zrobiłem. I absolutnie problem polega na tym, że nie mogę uzyskać żadnego węzła DOM strony. Wydaje się, że skrypt jest uruchamiany przed załadowaniem DOM, ale dodaję run_at: document_end – user2086454

+0

@ user2086454: Czy dodałeś uprawnienia do manifestu, podzieliłeś się odpowiednim kodem, będzie pomocny dalej – Sudarshan

+0

hej, zaktualizowałem odpowiedź, Mam nadzieję, że to pomoże –

0

dodać uprawnienia z URL (S) są kierowane do pliku manifestu

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

referencyjny

Powiązane problemy