的文本內容我有一個這樣的腳本:如何獲得一個src腳本
<script type="x-shader/x-vertex" id="vertexShader" src="./Shaders/Phong/vertex_shader"> </script>
我如何得到它的文本?我想:
console.log($("#vertexShader").text());
但我總是得到一個空字符串,不包含在文件中的字符串。我如何獲取文件內容?
的文本內容我有一個這樣的腳本:如何獲得一個src腳本
<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功能,因爲它們會自動執行腳本。如果你想拿到劇本的內容,你可以做var url=$("#vertexShader").attr('src');
這將讓你的腳本的URL
我必須鏈接超越jQuery的腳本嗎?因爲我仍然得到一個空字符串。 –
@RamyAlZuhouri我編輯了一個新版本(不使用jQuery)。我測試了它,它工作。 –
當然,這個腳本必須在DOM準備好的時候執行,以便找到元素。 –
$("#vertexShader").Text()
將讓你什麼都沒有,因爲劇本是遠程加載:)
。現在,您可以用
var response;
$.ajax({
type:'GET',
url: url,
success:function(data){
response=data;
}
});
加載它這將讓你的腳本內容到響應變量
這具有執行腳本的副作用。 –
它呢?爲什麼,我只是把它當作ajax迴應......我不是嗎? –
通過在腳本中放置console.log來嘗試它。 –
失蹤「#」以前只是複製粘貼錯誤,它無論如何都不會工作。 –