Haxe / OpenFL 在无法访问服务器的情况下解决 CORS 错误?
Haxe / OpenFL solving CORS error without having access to the server?
我知道 HTML5 标签中有很多关于 CORS 政策的问题。
他们都在谈论服务器端设置,您需要在服务器设置中更改访问 headers 或将 headers 自己放入 php 文件等。
但我正在使用 Loader
class 加载图像,但我无权访问该服务器。
如何更改 :
Access-Control-Allow-Origin
到 *
我尝试用 URL 请求推送 headers :
urlRequest.requestHeaders.push( new URLRequestHeader( 'Access-Control-Allow-Origin', '*' ) );
但不管我做了什么:
我收到这个错误:
完整的代码片段:
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);
为了启用 cross-origin 请求,您 将 需要在服务器端添加 header。另一种方法是禁用网络安全:
Disable same origin policy in Chrome
OpenFL 6.3.0(在 6.4.0 发布之前)有 window 的时间 openfl.net.Loader
(关于 CORS)的默认行为出现回归,但这在 OpenFL 6.4.0 或更新版本中已得到解决。
这是为了开发目的吗?我问是因为涉及 127.0.0.1
URL。您似乎在 127.0.0.1:3000
上托管您的游戏并在 www.___.com/___.jpg
上请求 URL,对吗?
不特别考虑 OpenFL,一个典型的解决方案是 127.0.0.1:3000
的服务器可以具有代理功能,从另一个 Web 服务器获取和提供图像,这样浏览器就看不到差异。
这在现实世界中对您没有帮助,但如果您谈论的是开发环境,也许它是一种解决方法。
我知道 HTML5 标签中有很多关于 CORS 政策的问题。
他们都在谈论服务器端设置,您需要在服务器设置中更改访问 headers 或将 headers 自己放入 php 文件等。
但我正在使用 Loader
class 加载图像,但我无权访问该服务器。
如何更改 :
Access-Control-Allow-Origin
到 *
我尝试用 URL 请求推送 headers :
urlRequest.requestHeaders.push( new URLRequestHeader( 'Access-Control-Allow-Origin', '*' ) );
但不管我做了什么:
我收到这个错误:
完整的代码片段:
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);
为了启用 cross-origin 请求,您 将 需要在服务器端添加 header。另一种方法是禁用网络安全:
Disable same origin policy in Chrome
OpenFL 6.3.0(在 6.4.0 发布之前)有 window 的时间 openfl.net.Loader
(关于 CORS)的默认行为出现回归,但这在 OpenFL 6.4.0 或更新版本中已得到解决。
这是为了开发目的吗?我问是因为涉及 127.0.0.1
URL。您似乎在 127.0.0.1:3000
上托管您的游戏并在 www.___.com/___.jpg
上请求 URL,对吗?
不特别考虑 OpenFL,一个典型的解决方案是 127.0.0.1:3000
的服务器可以具有代理功能,从另一个 Web 服务器获取和提供图像,这样浏览器就看不到差异。
这在现实世界中对您没有帮助,但如果您谈论的是开发环境,也许它是一种解决方法。