Domanda

Non riesco a caricare jQuery in un utenti di Google Chrome.

Ecco come appare il mio manifest.json:

{
    //...
    "content_scripts" : [{
        "js" : ["http://code.jquery.com/jquery-1.7.1.js", "code.js"],
        //...
    }],
    //...
}

Ma in code.js, $ è undefined.

code.js Altrimenti funziona, e in realtà ho un segnalibro funzionante (che utilizza la versione del sito di JQuery).

Ho provato versioni minimificate e non minimizzate di jQuery, ospitate o locali.

Ho anche provato a incorporare una jQuery minita nella parte superiore del mio code.js, ma se lo faccio il codice non esegue nemmeno, in realtà l'intero file non viene eseguito (anche un avviso prima del pezzo di jQuery minita).

Se vuoi guardarlo, Ecco qui.

È stato utile?

Soluzione

Dal manifest.json fornito nella tua zip, Chrome mi invia due errori durante la disimballare.

  1. Valore non valido per 'content_script [0] .matches [0]': separatore di schema mancante.
  2. Impossibile caricare JavaScript 'http://code.jquery.com/jquery-1.7.1.js'Per lo script di contenuti.

Il primo dice il tuo matches L'istruzione non è formattata correttamente. Dopo il tuo * Dovresti aggiungere :// così:

"matches" : ["*://my.deviantart.com/messages/*"]

Il secondo riguarda il tuo tentativo di caricare il jQuery da un ricorso esterno. Se si modifica il percorso al file locale, dovrebbe funzionare.

"js" : ["jquery.js", "code.js"],

Quando io console.log($) nel tuo code.js File dopo queste regolazioni JQuery sembra funzionare bene.

EDIT: Nota che è necessario aggiungere al tuo HTML (in <head> sezione) quanto segue:

<script src='./jquery.js'></script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top