我有一个这样的脚本:
<script type="x-shader/x-vertex" id="vertexShader" src="./Shaders/Phong/vertex_shader"> </script>
我如何得到它的文本?我试过:
console.log($("#vertexShader").text());
但我总是得到一个空字符串,而不是文件中包含的字符串。如何获取文件内容?
我有一个这样的脚本:
<script type="x-shader/x-vertex" id="vertexShader" src="./Shaders/Phong/vertex_shader"> </script>
我如何得到它的文本?我试过:
console.log($("#vertexShader").text());
但我总是得到一个空字符串,而不是文件中包含的字符串。如何获取文件内容?
最简单的解决方案是发出 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 函数,因为它们会自动执行脚本。
$("#vertexShader").Text()
不会给你任何东西,因为脚本是远程加载的:)
如果您想获取脚本内容,您可以执行此操作var url=$("#vertexShader").attr('src');
,这将为您获取脚本的 url。现在你可以加载它
var response;
$.ajax({
type:'GET',
url: url,
success:function(data){
response=data;
}
});
这将使您将脚本内容放入响应变量
在 CSS 选择器中,要获取具有id的元素,您必须在其前面加上#。像
#vertexShader
所以它变成
$('#vertexShader')