WebGL 프레임 워크를 탐색 중입니다. SceneJS가 좋지만 Internet Explorer와 호환성 문제가있는 것 같습니다. 예를 들어, IE 11에서 OBJ 파일을 가져 오는 것은 온라인 예에서 정지 :SceneJS 가져 오기 모델이 작동하지 않습니다.
어떤 아이디어? 또는 SceneJS가 흥미롭지 만 프로젝트로 버려져서 다른 WebGL 프레임 워크로 이동해야한다는 좋은 증거입니까?
WebGL 프레임 워크를 탐색 중입니다. SceneJS가 좋지만 Internet Explorer와 호환성 문제가있는 것 같습니다. 예를 들어, IE 11에서 OBJ 파일을 가져 오는 것은 온라인 예에서 정지 :SceneJS 가져 오기 모델이 작동하지 않습니다.
어떤 아이디어? 또는 SceneJS가 흥미롭지 만 프로젝트로 버려져서 다른 WebGL 프레임 워크로 이동해야한다는 좋은 증거입니까?
IE (제 경우 IE 11)에서는 webGL이 아니지만 SceneJS에서 OBJ 파일이로드되는 방식이 문제가되는 것 같습니다. SceneJS는 IE와 호환되지 않는 방법을 사용했습니다.
obj.js에서 load() 함수는 xhr.responseType = "arraybuffer";
을 호출합니다. obj가로드되지 않도록 IE에서 상태 오류가 발생합니다.
쉬운 해결책은 obj.js에서로드 기능을 편집하는 것입니다 (줄을 바꾸지 않은 상태에서). 여기에 전체 기능입니다 :
function load(url, ok, error) {
var xhr = new XMLHttpRequest();
//xhr.responseType = "arraybuffer"; // chagned
// xhr.addEventListener('progress',
// function (event) {
// // TODO: Update the task? { type:'progress', loaded:event.loaded, total:event.total }
// }, false);
xhr.addEventListener('load',
function(event) {
if (event.target.response) {
var s = event.target.response;
var uintArray = new Uint8Array(s.split('').map(function(char) {return char.charCodeAt(0);}));
ok(uintArray);
} else {
error('Invalid file [' + url + ']');
}
}, false);
xhr.addEventListener('error',
function() {
error('Couldn\'t load URL [' + url + ']');
}, false);
xhr.open('GET', url, true);
xhr.send(null);
}
})();
xhr.responseType = "arraybuffer"을 주석으로는, 당신이 명시 적으로 arraybuffer로 다운로드 텍스트 문자열을 변환 할 필요가 다음 기본 응답 형식으로 "텍스트"로 설정하고합니다 Uint8Array 함수와 함께. 내가 액세스 할 수있는 모든 브라우저에서 작동하는 것 같습니다.
scene.js의 버그가 수정 된 경우 버그를 수정하고 버그 픽스를 제출하는 방법을 묻습니다. – slebetman
AJAX에 문제가있는 것 같아서이 프로젝트가 jQuery를 사용하는지 확인하십시오. 그렇다면'jQuey.ajax' (또는 원하는대로'jqXhr')로 변경하는 것을 고려해보십시오. 라이브러리에는 이미 많은 대안이 있습니다. 좋은 작업. – CarlosCarucce