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?
Lesezeichen