я так и сделал, когда прочитал твой пост
function getShader(gl,addr,type,params) {
var xhr= new XMLHttpRequest();
xhr.open('POST', addr, false);//получение шейдера - синхронная операция
xhr.send(params);
if(xhr.status&&xhr.status != 200) {
throw new Error("bad status code");
}
if(!type)type=xhr.getResponseHeader("content-type").split(";",1)[0];
var source=xhr.responseText;
if(!source)throw new Error("unable load shader");
//console.log("shader is ",source);
var shader;
switch (type){
case "x-shader/x-fragment":
case "fragment":
shader = gl.createShader(gl.FRAGMENT_SHADER);
break;
case "x-shader/x-vertex":
case "vertex":
shader = gl.createShader(gl.VERTEX_SHADER);
break;
default:
throw new Error("bad shader type");
}
gl.shaderSource(shader, source);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
throw new Error(gl.getShaderInfoLog(shader));
}
return shader;
}