Ergebnis 1 bis 4 von 4

Thema: Daten nachladen

  1. #1
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    385

    Standard Daten nachladen

    Hallo ihr,

    ich entwickle momentan mit WebGL und hantiere dem entsprechend mit Shadern. Letztere werden entweder in einem skript-Tag untergebracht, welches eine Id bekommt, oder im Quelltext escapet hinterlegt. Beide Varianten gefallen mir nicht so richtig, wes wegen ich diese in eine extra Datei ausgelagert habe. Das Problem ist nun jedoch: wie komme ich an diese Dateien heran?

    Momentan mache ich es so:
    Code:
    	function getExternalSource(url){
    		var req = new XMLHttpRequest();
    		req.open("GET", url, false);
    		req.send(null);
    		//status = 0, if local file
    		return (req.readyState == 4 && (req.status == 200 || req.status == 0)) ? req.responseText : "";
    	};
    Funktioniert auch problemlos, wenn die Seite im Web liegt. Wenn ich es jedoch lokal mache (ohne XAMPP dazwischen oder so), bekomme ich unter Chrome und Opera folgenden Fehler:
    XMLHttpRequest cannot load file:///D:/[...]/vertexShader.glsl. Cross origin requests are only supported for HTTP.
    webgl.js:37Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
    Die Frage ist nun: kann man es umgehen, so dass es auch lokal funktioniert?

  2. #2
    Contao-Nutzer
    Registriert seit
    02.05.2011.
    Beiträge
    9

    Standard

    X-Origin Requests sind natürlich in XHR per Default verboten.

    Wie das Verbot für verschiedene Browser umgangen werden kann ist hier beschrieben:
    http://stackoverflow.com/questions/7...om-local-files

  3. #3
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    HTML5 erlaubt Cross-Domain Requests grundsätzlich, aber das ist nicht so einfach

    Es gibt einen HTTP Header, der dir erlaubt, solche Zugriffe zu machen: http://www.w3.org/TR/cors/#access-co...n-response-hea
    Sprich deine externe Ressource muss dir erlauben, dass Du von einer anderen Domain darauf zugreifen darfst.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  4. #4
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    385

    Standard

    @Toflar: Wenn ich header senden kann, ist das kein Thema mehr, da ich dann einen localhost/server dazwischen hängen habe. Situation ist, dass ich zum testen nur eine html-Datei habe und eine js-Datei, die die webgl-Datei enthält. Ich muss mal schauen, wie es bei den Texturen läuft. Ich vermute mal, da wird das gleiche Problem bestehen, von daher wird der localhost wohl die einfachste Variante sein :S.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •