2017-11-17 5 views
0

HTML5 태그의 CORS 정책과 관련하여 많은 질문이 있다는 것을 알고 있습니다. 그들 모두는 당신이 서버 설정에 액세스 헤더를 변경하거나 PHP 파일 등Haxe/OpenFL은 서버에 액세스하지 않고 CORS 오류를 해결합니까?

에서 헤더를 직접 넣어하는 데 필요한 서버 측 설정에 대해 이야기하지만 있습니다

내가 Loader 클래스를 사용하여 이미지를로드하고 있고 나는 그 서버에 접근 할 수 없다.

내가 변경합니까 방법 :

Access-Control-Allow-Origin 내가 URL 요청과 헤더를 밀어 시도

*에 :

urlRequest.requestHeaders.push(new URLRequestHeader('Access-Control-Allow-Origin', '*')); 

하지만 내가 무슨 짓을했는지에 상관없이 :

전 이 오류 발생 :

enter image description here

전체 코드 : 출처 간 요청을 활성화하기 위해

loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoadComplete); 

var request:URLRequest = new URLRequest(); 
request.url = "http://www.someserver.com/some_image.jpg"; 

request.contentType = "image/jpeg"; //tried it didn't make a difference 
request.requestHeaders.push(new URLRequestHeader('Access-Control-Allow-Origin', '*')); 

loader.load(request); 

답변

0

, 당신은 필요가 서버 측에서 헤더를 추가하는 것입니다. openfl.net.Loader의 기본 동작의 회귀가 있었다 (6.4.0이 출시되기 전에) OpenFL 6.3.0에 시간의 창을 있었다

Disable same origin policy in Chrome

(안부 : 대안은 사용하지 않도록 웹 보안이다 CORS), 그러나 이것은 OpenFL 6.4.0 또는 그 이상에서 해결되었습니다.

+0

감사합니다. Joshua Granick이 확장 프로그램을 설치했습니다. [link] (https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related?hl=ko). – Sim

0

개발 목적입니까? URL이 127.0.0.1에 불과하기 때문에 묻습니다. 127.0.0.1:3000에 게임을 호스팅하고 URL을 www.___.com/___.jpg으로 요청한 것 같습니다. 맞습니까?

OpenFL을 특별히 고려하지 않는 한 대표적인 해결책은 127.0.0.1:3000의 서버가 다른 웹 서버의 이미지를 가져 와서 검색 할 수있는 프록시 기능을 제공하여 브라우저가 그 차이를 볼 수 없게하는 것입니다.

이것은 실제 환경에서는 도움이되지 않지만 개발 환경에 대해 이야기하는 경우 해결 방법이 될 수 있습니다.

+0

예 localhost에서 테스트하고 있지만 확장 프로그램을 설치하면 테스트 할 수있었습니다. :) – Sim

관련 문제