2012-08-06 102 views
0

在JavaScript中讀取文本文件的典型方法是什麼?該文件將像其餘腳本文件一樣位於服務器上,但我想將其用作GLSL着色器。在java腳本中讀取文本

我想我可以簡單地替換這樣的:這條線

<script id="shader-vs" type="x-shader/x-vertex"> 
    //GLSL code 
</script> 

<script id="shader-vs2" type="x-shader/x-vertex" src="../Data/Effects/Shader.vp"></script> 

當我試圖在Chrome它導致了下面的錯誤。

將資源解釋爲腳本,但使用MIME類型application/octet-stream傳輸:「https://c9.io/b_old/substitute/workspace/Data/Effects/Shader.vp」。

應該怎麼做?

我想我真正想要的是一個XmlHttpRequest。

+0

服務器是否託管文件以提供MIME類型爲'x-shader/x-vertex'的文件?看起來它正在發送默認的'application/octet-stream'類型。 – Alex 2012-08-06 14:46:53

+0

我將預期的MIME類型更改爲application/octet-stream,因爲我並不在意類型。 Chrome不再投訴,但着色器編譯器提供了一個意外的EOF錯誤。 爲什麼我不能只加載一個簡單的文本文件? – 2012-08-06 15:13:52

回答

0

我想我真正想要的是一個XmlHttpRequest。

0

配置您的Web服務器以傳輸* .vp文件爲x-shader/x-vertex

例如在Apache中,你會設置這樣的事情在你的.htaccess文件:

AddType x-shader/x-vertex vp 

其他Web服務器都有自己的方法進行配置。如果您使用的是IIS Documentation

+0

我沒有使用任何網絡服務器。這只是本地執行的JavaScript。 – 2012-08-07 07:46:26

+0

vp文件在哪裏? – Strelok 2012-08-07 07:52:26

+0

「../Data/Effects/Shader.vp」 這是相對於包含其餘代碼的html。 – 2012-08-07 09:04:07