6

So che c'è il problema dell'origine, ma l'installazione di un server web non è un'opzione qui. Firefox v14 non ha problemi a caricare un file locale. Chrome non ha alcun problema dopo aver aggiunto '--allow-file-access-from-files' C'è un modo per risolvere anche IE9? GrazieCome abilitare il caricamento del file locale usando ajax in IE9


Edit: ho capito la soluzione. È sufficiente utilizzare ActiveXObject ("MSXML2.XMLHTTP.6.0") anziché XMLHttpRequest() per IE9 per superare il problema di negazione dell'accesso file locale.

risposta

4

Ajax o no. HTTP è un protocollo di applicazione client-server. Senza un server, è solo non possibile.

UPDATE:

Possible in cromo (e Firefox) a quanto pare. Per quanto riguarda IE, puoi leggere su Mark of the Web.

+1

Server o no. Firefox e Chrome sono ** possibili **. Quindi cosa vuoi sottintendere? – user1589188

+0

@ user1589188: Sì, scusa la mia ignoranza. Ho ** aggiornato ** la mia risposta. Si potrebbe pensare che ci sia un modo giusto? Ma aiutaci a capire .. è qualcosa che non puoi raggiungere tramite la memorizzazione/memorizzazione delle applicazioni HTML5 ecc.? –

0

Per quanto ne so,

  1. Considerando i problemi di sicurezza, javascript fatto meglio a non accedere ai file locali. Quindi non può essere standard.

  2. In AJAX esistono diversi modi per accedere ai file locali per i rispettivi browser.

  3. Per IE, come sembra che tu sappia già, dichiarando inizialmente un oggetto AJAX, dovresti usare invece new ActiveXObject().

  4. L'AJAX della libreria JavaScript JQuery consente di accedere ai file locali. Penso che abbia implementato tutti i modi per i diversi browser, ad esempio ActiveXObject per IE. AJAX di JQuery è molto facile da usare; piace a tutti. Ma come detto sopra, ci sono problemi di sicurezza. Dal momento che JQuery ha completato tutto, JQuery potrebbe essere pericoloso per chi visita il tuo sito.

=========================================== ========================

ref: http://jquery.tiddlywiki.org/twFile.html (dirvi i modi di attuazione JQuery l'accesso ai file locali)

0

Nel caso in cui si 're utilizzando requirejs' s text plugin, tutto quello che dovete fare è aggiungere questo al primo argomento require.config:

requirejs.config({ 
    config: { 
    text: { 
     createXhr: function(){ 
     return new ActiveXObject("MSXML2.XMLHTTP.6.0"); 
     } 
    } 
    } 
}); 

Forse altre librerie JS utilizzare un sintassi simile Cibo per la mente.

Problemi correlati