2015-02-04 32 views
5

Ho pubblicato un'altra domanda riguardante la mia estensione di Chrome here.
Ma ho ancora una domanda sulle estensioni stesse. Ho solo bisogno di uno script di contenuto per la modifica di Tumblr-Dashboard, nessuna pagina di sfondo o qualcos'altro, giusto?Estensione per Chrome: impossibile caricare file javascript

Ecco il file manifest.json:

{ 
    "name": "Tumblr - Tiled Dashboard", 
    "version": "0.0.54", 
    "manifest_version": 2, 
    "description": "This extension modifies the look of your Tumblr dashboard.", 
    "icons": { 
     "16": "images/icon_16.png", 
     "48": "images/icon_48.png", 
     "128": "images/icon_128.png" 
    }, 
    "content_scripts": [ 
     { 
      "matches": [ "*://*.tumblr.com/dashboard" ], 
      "css": [ "styles.css" ], 
      "js": [ "jquery-2.1.3.min.js", "masonry.min.js", "code.js" ] 
     } 
    ], 
    "homepage_url": "mypage", 
    "author": "myname" 
} 

Per iniziare, mi chiedo se questo va bene? Ho letto molto sul file manifest.json e tutto sembra funzionare correttamente quando provo l'estensione localmente. Ma quando I pack l'estensione e caricarlo, ci sono due problemi:

  1. non riesco a trovare l'estensione quando cerco che
  2. Quando uso il link per trovare l'estensione, e voglio installarlo (provato su 2 PC diversi), ricevo un errore, che mi informa che non è stato possibile caricare il file jquery-2.1.3.min.js. Ho quindi modificato l'ordine dei miei file JavaScript per verificare se si trattava di un problema relativo al file jQuery, ma avendo masonry.min.js come primo file nell'array si è verificato lo stesso errore.

Perché succede? Il file manifest.json è ok? Ho bisogno di alcune autorizzazioni speciali?

Edit: Questo è uno screenshot di quando provo ad installare l'estensione dal Chrome Web Store (dove anche io non riesco a trovarlo da ricerca).

Screenshot of when I try to install the package from the Web Store

+0

Uno screenshot dell'errore sarebbe bello. E tu dici di non avere questo errore con il tuo sviluppo, versione scompattata? – Xan

+0

Ho aggiunto uno screenshot sopra (è tedesco, mi spiace). La mia estensione/scompattata funziona bene! Un'altra cosa da dire è che ottengo lo stesso messaggio per "masonry.js", se cambio l'ordine nel file manifest. –

+1

Sembra che tu l'abbia imballato in modo errato. Qual è la struttura all'interno dello zip che hai caricato? Dovrebbe essere sia "manifest.json' che" .js "nella radice dello zip, non all'interno di una cartella all'interno di uno zip. – Xan

risposta

6

ho preso uno sguardo all'interno del file ZIP del proprio interno prima di scaricarla, e il risultato è stato il seguente:

zip

* ispezionata secondo Chrome extension source viewer da Rob Wu

Il problema qui è che hai caricato un file CRX pieno all'interno del tuo file ZIP, invece del codice sorgente dell'estensione. Dovresti invece caricare un file ZIP contenente la radice della tua estensione. Dato che stai includendo il file manifest.json, il Web Store non nota nulla di sbagliato finché non provi a installare l'estensione, perché il manifest è scritto bene, ma quando Chromes prova ad accedere ai file dichiarati, fallisce e restituisce un errore , perché quei file non esistono.

Citando dalla pagina di upload del Chrome Web Store Developer Dashboard:

Caricamento di un elemento:

Quindi, è necessario creare un file ZIP della directory principale del proprio interno, che contiene tutti i file del proprio interno. Il file ZIP deve quindi essere simile al seguente:

enter image description here

+0

Beh, grazie per avermi aiutato a darci un'occhiata, ho segnato la tua risposta! Non pensavo di aver bisogno della radice della mia estensione ma del file * .crx creato invece. Ho un'ultima domanda: qual è lo scopo di questo file * .crx se non lo si invia al web-store? –

+1

@Eru In precedenza, era possibile ospitare un'estensione/un'app all'esterno del Web Store. Per quello, avevi bisogno di un CRX. Ora è ancora possibile in alcune circostanze limitate, ma per CWS si carica un semplice ZIP che viene elaborato in CRX dai server di Google. – Xan

+0

@ Xan grazie per la spiegazione, penso che mi abbia confuso in qualche modo. –

Problemi correlati