2010-07-09 18 views
38

Co mam zrobić z biblioteką jQuery w moim skrypcie treści Google Chrome? Oczywiście próbowałem, bezowocnie. Czy powinienem używać <script src="..." /></script>, czy jest inny/lepszy sposób na zrobienie tego? Z góry dziękuję!jQuery w Skrypcie Google Chrome?

Odpowiedz

59

Umieszczenie go w tle HTML nie robi, co chcesz. Musisz to podać w manifeście.json, tak:

{ 
    "name": "MyExtension", 
    "version": "0.1", 
    "description": "blah blah", 
    "background_page": "background.html", 
    "content_scripts": [ 
    { 
     "matches": ["http://*/*","https://*/*"], 
     "css": ["extension.css"], 
     "js": ["jquery-1.4.2.js", "extension.js"] 
    } 
    ] 
} 
+0

Umieszczenie w background.html nie robi ... ale to obowiązkowe, prawda? –

+8

Dzięki za to. Dla każdego, kto robi to, ale nadal nie działa, upewnij się, że jQuery jest pierwszym na liście. – ebi

+1

@ DanibISHOP - Nie. Strona background.html jest przeznaczona tylko dla kodu działającego w tle. Skrypty treści znajdują się w oddzielnym kontekście DOM i działają na rzeczywistej stronie i komunikują się ze stroną w tle za pomocą funkcji postMessage lub interfejsów API do przesyłania komunikatów Chrome. – jmort253

0

Powyższa odpowiedź działa. Alternatywny odpowiedź, która używa zastrzyk (co jest to, czego naprawdę szuka, kiedy znalazłem to pierwsza strona) jest tutaj:

Google Chrome Extensions: How to include jQuery in programmatically injected content script?

+4

Pierwsza reakcja na twoją odpowiedź brzmi "źle, zabij to", ale wtedy masz rację. Edytuj swoją odpowiedź; reguła dotycząca przepełnienia stosu polega na tym, że "odpowiedzi powinny być użyteczne, nawet jeśli link zginie". Dodaj tutaj podsumowanie/przykład i pozostaw link do drugiego pytania jako "więcej szczegółów". Zrobię to, jeśli to zrobimy. – Xan

Powiązane problemy