可以获取外部脚本的内容作为字符串吗?相当于myInlineScript.textContent
的东西?
场景是我刚开始进入WebGL,所有教程我都将商店着色器视为内联<script type="x-shader/x-foo">
标签。然而,元素本身并不重要 - 着色器是由纯字符串创建的。可以通过.textContent
从内联脚本中轻松提取这些内容,但我当然希望将代码与我的标记分开。
是否有一些等效的获取外部脚本的源/内容?快速浏览DOM文档和Google搜索并没有带来任何启发性。
更新
WebGL着色器不是一个大问题 - 有许多方法可以在Javascript中获取字符串!但这不是我遇到script tags being used to inline non-scripts的唯一时间,并且对更好的方法感到好奇。
答案 0 :(得分:2)
如果它位于同一个域中,您可以为它执行正常的ajax请求,并将该文件作为字符串返回。这适用于任何类型的文本文件。
另外,我不熟悉WebGL,但如果你的着色器在外部文件中,那么我认为“x-shader”脚本类型只是将它们放入内联的一种方式。否则,它只是一个传递给某个方法的字符串。所以不要过分思考这个问题。