-1

我有一个这样的脚本:

<script type="x-shader/x-vertex" id="vertexShader" src="./Shaders/Phong/vertex_shader"> </script>

我如何得到它的文本?我试过:

console.log($("#vertexShader").text());

但我总是得到一个空字符串,而不是文件中包含的字符串。如何获取文件内容?

4

3 回答 3

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 函数,因为它们会自动执行脚本。

于 2013-11-04T13:50:33.377 回答
0

$("#vertexShader").Text()不会给你任何东西,因为脚本是远程加载的:)

如果您想获取脚本内容,您可以执行此操作var url=$("#vertexShader").attr('src');,这将为您获取脚本的 url。现在你可以加载它

var response;

$.ajax({
        type:'GET',
        url: url,
        success:function(data){
            response=data;
        }
    });

这将使您将脚本内容放入响应变量

于 2013-11-04T13:55:53.770 回答
-1

在 CSS 选择器中,要获取具有id的元素,您必须在其前面加上#。像

#vertexShader

所以它变成

$('#vertexShader')
于 2013-11-04T13:47:58.793 回答