今天碰到的小问题,AS2加载外部图片从来没这么麻烦过...OK,认了。跨域加载外部图片除需要设置crossdomain外,还需要在loader.load()方法添加context参数,文档显示context参数为LoaderContext 类:
load(request:URLRequest, context:LoaderContext = null):void
When loading images (JPEG, GIF, or PNG) instead of SWF files, there is no need to specify a SecurityDomain or an application domain, because those concepts are meaningful only for SWF files. Instead, you have only one decision to make: do you need programmatic access to the pixels of the loaded image? If so, see the checkPolicyFile property.
所以,跨域加载正确的写法为:
import flash.system.LoaderContext;
var lc:LoaderContext = new LoaderContext(true);
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest(url);
loader.load(request, lc);
否则,flash player安全沙箱会报“checkPolicyFile ”错误。
这个疏忽出现在了Papervision3D中。使用BitmapFileMaterial时,如果使用的是跨域图片进行贴图,尽管设置了crossdomain.xml,仍然会报沙箱错误,解决方法是修改loadNextBitmap方法:
// ___________________________________________________________________ LOAD NEXT BITMAP
private function loadNextBitmap():void
{
// Retrieve next filename in queue
var file:String = _waitingBitmaps[0];
var request:URLRequest = new URLRequest( file );
var lc:LoaderContext = new LoaderContext(true);
var bitmapLoader:Loader = new Loader();
bitmapLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, loadBitmapCompleteHandler );
try
{
// Load bitmap
bitmapLoader.load( request, lc );
// Save original url
_loaderUrls[ bitmapLoader ] = file;
// Busy loading
_loadingIdle = false;
Papervision3D.log( "BitmapFileMaterial: Loading bitmap from " + file );
}
catch( error:Error )
{
// Remove from queue
_waitingBitmaps.shift();
// Loading finished
_loadingIdle = true;
Papervision3D.log( "[ERROR] BitmapFileMaterial: Unable to load file " + error.message );
}
}
分享到:
相关推荐
解决Cesium访问数据跨域问题,数据使用tomcat部署在服务器上。
ajax上传图片,PHP上传图片,PHP上传图片跨域,跨域上传图片,上传图片缩览图
问题:VUE开发时因为要访问后端的接口所以要配置请求转发,如果直接转发全部请求,那么VUE动态绑定的src也会转发到后端,因为图片在前端,所以会收到404 NOT FOUND的报错。 常规的请求转发 在vue-cli3内,直接编辑...
使用ajax跨域获取资源,并实现本地懒加载,顺序加载
as3.0跨域源码,需要结合服务器一起实现
pdfjs跨域加载文件预览。亲测可以用。在SSM框架中实现的。但是原理是通用的 详情查看http://blog.csdn.net/u013132051/article/details/76066920
在使用HTTP请求时,会遇到跨域加载问题,本例解决该类问题,
https://blog.csdn.net/qq_40216244/article/details/109046931 ceslium加载Geoserver跨域问题方法步骤,真实有效。
ueditor跨域图片上传ueditor跨域图片上传ueditor跨域图片上传ueditor跨域图片上传ueditor跨域图片上传ueditor跨域图片上传ueditor跨域图片上传
一般来讲,前后端分离的项目在大公司都会由后台设置允许跨域访问,因为后台设置允许跨域是很简单和方便的,但是某些情况下,一些小公司或者你工作的场所后台不怎么配合的情况下,这就需要前端来配置跨域请求来方便我们...
js异步上传图片,上传图片前进行压缩处理,支持跨域。例如470kb的图片压缩后40kb。上传部分在另一个mvc项目中 从而实现跨域上传文件,可以返回文件名等json数据。上传部分稍微修改同样适用不是mvc项目,很简单的改动...
Dubbox跨域请求,配置CORS服务来解决跨域问题,亲测可用。
解决跨域访问-需要设置HTTP响应标头设置
解决openlayers跨域访问的解决方案,按照附件中说明.txt中步骤操作应该是没问题的,我已经测试过。
在本地或者网站下载外链url图片时涉及到跨域,跨域会暴露自己的隐私,浏览器对跨域请求进行了限制,故需要设置crossOrigin为anonymous来允许跨域,浏览器会为这张图片的请求头附带Origin信息,告诉静态资源服务器,...
这也是前端App作为前端工程性项目存在的根本意义和需求,因此需要首先对上一章中示例:22-09-24-04_uniAppVue3(初识HbuilderX之前移动前端App开发)进行重构,把网络后端数据实现跨域(Cores)交互实现重构为本地主机...
html2canvas js 框架 和 java设置代理解决图片跨域访问时不能生成图片的问题。 zip包含:设置代理使用跨域图片.docx,canvas2image.js,canvg.js,html2canvas.js,html2canvas.min.js,html2canvas.svg.min.js共6个...
基于无刷新上传图片技术,使用最普通的html页面技术,支持ie6+浏览器
前端调用后端接口时跨域,后端添加此工具类即可