2009-03-18 9 views
63

OK, ho capito cosa significano i messaggi , ma non sono sicuro di cosa lo stia causando. A proposito, sto utilizzando Safari e Web Inspector su Mac OS X.Messaggio di debug "Risorsa interpretata come altro ma trasferita con tipo MIME application/javascript"

Ho il seguente nella mia testa documento:

<script src="http://local.url/a/js/jquery.js" type="text/javascript"></script> 
<script src="http://local.url/a/js/jquery.inplace.js" type="text/javascript"></script> 

jquery.js è gestita bene, ma l'altro file causa l'avviso. Sembra anche che il javascript in questo file non venga mai eseguito.

Il file viene servito tramite mod_deflate, quindi è codificato con gzip, ma lo è anche l'altro file.

Qualcuno ha qualche idea su cosa sta causando questo o su come risolverlo?

Cheers tutto, Gaz.

+0

quale versione di safari? –

+0

Puoi pubblicare un URL di esempio di lavoro? Sarebbe utile guardare a ciò che sta realmente accadendo dal punto di vista del browser. – s4y

+0

Probabilmente è un bug, la stessa cosa si presenta sul mio Safari 4 alla vittoria. –

risposta

9

sembra un bug in safari/webkit. forse this one o any of these. prova ad aggiornare il tuo safari. se non c'è più una versione stabile recente, prova il 4 beta.

+0

guarda la risposta successiva che risolve effettivamente il problema. Questo può essere spiegato perché src = "" va a recuperare la pagina corrente come immagine. se hai src = "" rimuovi semplicemente la proprietà src –

4

È necessario utilizzare uno strumento per visualizzare le intestazioni HTTP inviate con il file, qualcosa come LiveHTTPHeaders o HTTPFox sono ciò che utilizzo. Se i file vengono inviati dal server Web senza un tipo MIME o con un tipo MIME predefinito come text/plain, potrebbe trattarsi di questo errore.

4

È a causa del punto nel nome del file. È stupido, ma ogni volta che c'è un punto nel nome del file js si ottiene questo errore, e mi sono imbattuto in situazioni in cui effettivamente impedirà il caricamento del file js.

+0

wow, se è così è molto strano. – scunliffe

+2

questo potrebbe essere un motivo, ma non l'unico motivo per cui si verifica questo errore. – Kzqai

6

Questo avviso viene visualizzato perché non è specificato alcun tipo di script predefinito. Prova ad aggiungere la seguente direttiva al file HTML:

<meta http-equiv="content-script-type" content="text/javascript">

Si può leggere di più su specifiche di script predefinito qui: http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.2.1

+0

Mettendo in http-equiv si risolve il problema. – montrealist

+1

Non ha funzionato per me con Safari 4.0.3. – John

+0

Né Safari 4.0.2 – JacobE

0

Ho avuto lo stesso problema con un file CSS invece di javascript. (Utilizzando il server web Xitami)

quello fissato per me è stato aggiungendo nella sezione MIME di Xitami.cfg:

css = text/css

3

Sembra un bug nelle politiche di gestione della cache di Safari.

Soluzione in apache:

Header unset ETag 
Header unset Last-Modified 
+0

Sì, si è verificato un errore durante l'utilizzo di Last-Modified nei browser WebKit. Sembrano confondersi su qualsiasi file statico quando si invia quell'intestazione. – kingmaple

10

Io non credo che sia un bug, provare ad aggiungere il tipo MIME per il file .htaccess Per esempio, mettere o aggiungere il seguente contenuto al tuo .htaccess file (che dovrebbe essere nello stesso posto dei vostri .js o le cartelle di cui sopra)

#JavaScript 
AddType application/x-javascript .js 

questo ha risolto il mio albero "risorsa interpretato come loro ma trasferito ..." avvertimenti. Ogni volta che hai questo tipo di avvertimento significa che non hai abbastanza informazioni nel tuo.file htaccess.

BTW1: Poiché si sta modificando il file .htaccess, assicurarsi di riavviare il server.

BTW2: Ho anche potuto cancellare stessi avvisi per i file GIF in Safari 4 con questo:

#GIF 
AddType image/gif .gif 

BTW3: Per altri tipi di file: vedi w3schools list o htaccess-guide

+4

You don ' t necessario riavviare il server dopo aver modificato .htaccess. – Liam

0

ho scoperto che la denominazione dei miei file css era in conflitto con i filtri proxy

www.dating.com (che non è il mio sito) è stato bloccato e i miei file css e js sono stati chiamati dating.css e dating.js. Il filtro stava bloccando questo. Forse è il caso di alcuni di voi, che lavorano su sistemi aziendali.

35

Un'immagine con una "src" vuoto attributo genera questo errore sotto Windows-Chrome:

<img src=""> 

... mentre ...

<img> 

... non lo fa.

Sono arrivato qui perché il mio set di risultati ajax restituiva dati "src" che erano vuoti, ma l'img era ancora inserito nella pagina.

+1

Questo era esattamente il mio caso – maxfridbe

+1

mi hai salvato la vita! grazie mille –

+0

ottima risposta !!! –

2

Ho appena ottenuto questo e risolto localmente sul mio mac. Per qualche ragione il file javascript in questione aveva cattive autorizzazioni. Ho notato che quando l'ho guardato in Firebug stavo ottenendo un 403. Spero che questo aiuti qualcuno.

0

Questo bug sembrano essere riemerso (accorto novembre 2010)

penso che i rapporti di bug WebKit coinvolti sono this one e this. In sostanza, si riduce a una gestione errata della cache quando si esegue un If-Modified-Since che ottiene una risposta 304.

0

Un'altra causa comune di questo errore su Mac è il flag di quarantena di Apple.

ls la directory contenente la/e risorsa/e in questione. Se vedi l'indicatore dell'attributo esteso, ad esempio il piccolo simbolo @ alla fine del blocco delle autorizzazioni (ad esempio [email protected]), il file potrebbe essere messo in quarantena.

Prova ls [email protected] e potete trovare com.apple.quarantine

Il seguente comando rimuoverà la quarantena:

xattr -d com.apple.quarantine /path/to/file 
0

Sembra che ci siano molte cose che causano questo. Per me era una regola di riscrittura in minuscolo in IIS. Modificato il file dei problemi (js e png) in minuscolo e il problema è andato via.

13

Risolto!

Ho avuto questo errore per diversi giorni. Mi stava facendo impazzire perché non mi permetteva di usare il debugger degli script firefox di firefox.Infine, il mio errore è stato risolto quando ho rimosso un url vuoto in una proprietà di stile "background-image: url()".

Questo è stato molto più doloroso di quanto spero davvero che qualcuno possa usare questo consiglio.

+0

Questo è stato un problema di debug, fino a quando ho appena cercato dalla stringa di errore su SO. da un tema di Wordpress, ProMotion, che ha semplicemente emesso qualsiasi cosa l'utente digitasse come URL dell'immagine di sfondo. La maggior parte delle volte, non vi era alcun URL dell'immagine di sfondo digitato n. –

0

su Apache

Aggiungi i seguenti tipi MIME in .htaccess nella root. Raccomando la seconda linea, poiché potrebbe aiutare a prevenire eventuali futuri avvertimenti di interpretazione MIME con i file CSS.

AddType application/x-javascript .js 
AddType text/css .css  

riavviare l'Apache ...

Su Nginx

Aggiungi al tuo nginx.conf oi vostri mime.types del file (consigliata Method) importare. Aggiungi uno o tutti come necessario/pertinente.

types { 
    text/html        html htm shtml; 
    text/css        css; 
    text/xml        xml; 
    image/gif        gif; 
    image/jpeg       jpeg jpg; 
    application/x-javascript    js; 
    application/rss+xml     rss; 
    text/plain       txt; 
    image/png        png; 
    image/tiff       tif tiff; 
    image/svg+xml       svg svgz; 
    image/webp       webp; 
    application/postscript    ps eps ai; 
    application/pdf      pdf; 
    application/rtf      rtf; 
    application/vnd.ms-excel    xls; 
    application/vnd.ms-powerpoint   ppt; 
    application/msword     doc; 
    application/x-shockwave-flash   swf; 
    application/xhtml+xml     xhtml; 
    application/zip      zip; 
} 
Problemi correlati