我在我的Windows 8分区上的Chrome和我的Ubuntu 14.04分区的Firefox中运行此代码。两者都给我提供与MIME类型相关的错误消息。
<head>
<script type="text/javascript" src="resources/cube.objjs"></script>
</head>
注意:类型似乎并不重要,我已尝试type=text/javascript
,type=application/javascript
,type=javascript
,而根本没有输入,我仍然会收到相同的错误消息。
Windows上Chrome的错误消息是
拒绝执行脚本
http://localhost:63342/***/GraphicsTownJS2015-master/resources/cube.objjs
因为它的MIME类型('application / octet-stream')不可执行, 并且启用了严格的MIME类型检查。
Ubuntu上的Firefox错误消息是
来自的资源
http://localhost:63342/***/GraphicsTownJS2015-master/resources/cube.objjs
由于MIME类型不匹配而被阻止(X-Content-Type-Options:nosniff)。
这是cube.objjs
var LoadedOBJFiles = LoadedOBJFiles || {} ;
LoadedOBJFiles["cube_ex.obj"]= {}
LoadedOBJFiles["cube_ex.obj"].vertices = [[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]]
LoadedOBJFiles["cube_ex.obj"].normals = [[0,0,1],[0,0,-1],[0,1,0],[0,-1,0],[1,0,0],[-1,0,0]]
LoadedOBJFiles["cube_ex.obj"].texCoords = []
LoadedOBJFiles["cube_ex.obj"].groups = {}
LoadedOBJFiles["cube_ex.obj"].groups['cube' ] = {}
LoadedOBJFiles["cube_ex.obj"].groups['cube' ].vertices = LoadedOBJFiles["cube_ex.obj"].vertices
LoadedOBJFiles["cube_ex.obj"].groups['cube' ].normals = LoadedOBJFiles["cube_ex.obj"].normals
LoadedOBJFiles["cube_ex.obj"].groups['cube' ].texCoords = LoadedOBJFiles["cube_ex.obj"].texCoords
LoadedOBJFiles["cube_ex.obj"].groups['cube' ].faces = [[[0,null,1],[6,null,1],[4,null,1]],[[0,null,1],[2,null,1],[6,null,1]],[[0,null,5],[3,null,5],[2,null,5]],[[0,null,5],[1,null,5],[3,null,5]],[[2,null,2],[7,null,2],[6,null,2]],[[2,null,2],[3,null,2],[7,null,2]],[[4,null,4],[6,null,4],[7,null,4]],[[4,null,4],[7,null,4],[5,null,4]],[[0,null,3],[4,null,3],[5,null,3]],[[0,null,3],[5,null,3],[1,null,3]],[[1,null,0],[5,null,0],[7,null,0]],[[1,null,0],[7,null,0],[3,null,0]]]
LoadedOBJFiles["cube_ex.obj"].groups['cube' ].material ='null'
我在两种情况下都从WebStorm IDE运行此代码。关于我能做些什么来解决这个问题的任何想法?
这是生成objjs文件的webapp的github页面 https://github.com/Squeakrats/OBJLoader
答案 0 :(得分:0)
您可以利用fetch()
检索.objjs
文件,创建一个<script>
元素,其中.textContent
设置为承诺.text()
window.onload = () => {
fetch("resources/cube.objjs")
.then(response => response.text())
.then(obj => {
var script = document.createElement("script");
script.textContent = obj;
document.head.appendChild(script);
console.log(LoadedOBJFiles);
})
}