2016-12-04 5 views
0

Я запустил этот код в Chrome на моем разделе Windows 8 и в Firefox на моем разделе Ubuntu 14.04. Оба дают мне сообщения об ошибках, связанные с типом MIME.Браузер не загружает файл с расширением .objjs из-за MIME-типа

<head> 
     <script type="text/javascript" src="resources/cube.objjs"></script> 
    </head> 

Примечание: Тип, кажется, не имеет значения, я пытался type=text/javascript, type=application/javascript, type=javascript, а не типа вообще, и я все еще получаю то же сообщение об ошибке.

Сообщение об ошибке для Chrome на Windows, является

Отказался выполнить скрипт из http://localhost:63342/***/GraphicsTownJS2015-master/resources/cube.objjs , потому что его MIME тип («применение/октет-поток») не является исполняемым, и строгая проверка MIME тип включен.

И сообщение об ошибке для Firefox на Ubuntu является

Ресурс от 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 в обоих случаях. Любые идеи относительно того, что я могу сделать, чтобы исправить это?

Вот страница GitHub для веб-приложение, которое генерирует objjs файлы https://github.com/Squeakrats/OBJLoader

+0

Я чувствую, что это должно быть: 'resources/cube.obj.js', так как файл является просто JavaSc ript файл (хотя в конце каждого утверждения нет полуколоней). Вы уверены, что имя файла правильно? –

+0

Похоже, вы не можете изменить встроенные mime-типы https://intellij-support.jetbrains.com/hc/en-us/community/posts/206339659-Built-in-Web-Server-settings. Это означает, что вы должны либо измените расширение на '.js', либо используйте лучший веб-сервер. – zerkms

+0

Имя файла верное, я уверен в этом. @zerkms, как я могу найти лучший веб-сервер для использования именно? Кроме того, спасибо, что нашли мою проблему для меня. –

ответ

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); 
    }) 
} 

plnkr http://plnkr.co/edit/WFDIhnsIjYJ8T8ExAdvj?p=preview

 Смежные вопросы

  • Нет связанных вопросов^_^