6

Ich weiß, es gibt das Ursprungsproblem, aber die Einrichtung eines Webservers ist keine Option hier. Firefox v14 hat kein Problem beim Laden einer lokalen Datei. Chrome hat kein Problem nach dem Hinzufügen von "--allow-Datei-Zugriff-von-Dateien" Gibt es eine Möglichkeit, auch IE9 zu beheben? DankeWie zu aktivieren lokale Datei mit AJAX in IE9


Edit: ich die Lösung herausgefunden. Verwenden Sie einfach ActiveXObject ("MSXML2.XMLHTTP.6.0") anstelle von XMLHttpRequest() für IE9, um das Problem des lokalen Dateizugriffs zu umgehen.

Antwort

4

Ajax oder nicht. HTTP ist ein Client-Server-Anwendungsprotokoll. Ohne einen Server ist das einfach nicht möglich.

UPDATE:

Possible in Chrom (und Firefox) offenbar. Wie für IE können Sie auf Mark of the Web nachlesen.

+1

Server oder nicht. Firefox und Chrome sind ** möglich **. Was willst du damit andeuten? – user1589188

+0

@ user1589188: Ja, entschuldige meine Ignoranz. Ich habe ** meine Antwort aktualisiert **. Man würde denken, dass es einen Weg geben muss, oder? Aber helfen Sie uns, zu verstehen ... ist das etwas, das Sie nicht über HTML5 Application Caching/Storage usw. erreichen können? –

0

So weit ich weiß,

  1. Sicherheitsfragen betrachtet, javascript besser nicht auf lokale Dateien zugreifen. Es kann also nicht Standard sein.

  2. In AJAX gibt es entsprechende Möglichkeiten, auf lokale Dateien für die jeweiligen Browser zuzugreifen.

  3. Für IE, wie Sie bereits wissen, während Sie ein AJAX-Objekt zunächst deklarieren, sollten Sie stattdessen new ActiveXObject() verwenden.

  4. Der AJAX der JavaScript-Bibliothek JQuery ermöglicht Ihnen den Zugriff auf lokale Dateien. Ich denke, es implementiert alle Möglichkeiten für verschiedene Browser, z. B. ActiveXObject für IE. AJAX von JQuery ist sehr einfach zu bedienen; jeder mag es. Aber wie oben erwähnt, gibt es Sicherheitsprobleme. Da JQuery alles umhüllt, kann JQuery für die Besucher Ihrer Website gefährlich sein.

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

ref: http://jquery.tiddlywiki.org/twFile.html (sagen Sie die Möglichkeiten, JQuery Zugriff auf lokale Dateien Implementierung)

0

Falls Sie 're mit requirejs' s text plugin, alles, was Sie tun müssen, ist dies das erste require.config Argument hinzu:

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

Vielleicht anderer JS-libs verwendet eine ähnliche Syntax. Denkanstoß.