我有一个这样的脚本:
<script type="x-shader/x-vertex" id="vertexShader" src="./Shaders/Phong/vertex_shader"> </script>
我如何获得它的文字?我试过了:
console.log($("#vertexShader").text());
但我总是得到一个空字符串,而不是文件中包含的字符串。如何获取文件内容?
答案 0 :(得分:3)
最简单的解决方案是发出ajax查询:
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
var scriptContent = httpRequest.responseText;
console.log(scriptContent);
}
}
};
httpRequest.open('GET', document.getElementById('vertexShader').src);
httpRequest.send();
避免使用jQuery ajax函数,因为它们会自动执行脚本。
答案 1 :(得分:0)
$("#vertexShader").Text()
不会给你什么,因为脚本是远程加载的:)
如果您想获取脚本内容,可以执行var url=$("#vertexShader").attr('src');
,它将为您提供脚本的URL。现在您可以使用
var response;
$.ajax({
type:'GET',
url: url,
success:function(data){
response=data;
}
});
哪个会将脚本内容送到响应变量
答案 2 :(得分:-1)
在CSS选择器中,要获取具有 id 的元素,必须在其前面添加#。像
#vertexShader
所以它变成
$('#vertexShader')