跨域加载外部图片除需要设置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 ); }
}
分享到:
相关推荐
在Flash ActionScript 3.0 (AS3) 中,加载图片是常见的操作,适用于创建动态图形、游戏或者交互式应用程序。本篇文章将详细介绍两种方法来加载图片,并通过代码实例进行解析。 方法一:使用Loader 类 Loader 类是...
【MP3跨域音频频谱AS3播放器】是一种基于Adobe Flash ActionScript 3(AS3)技术开发的多媒体播放器,专为处理跨域音频频谱显示而设计。ActionScript是Flash平台上的编程语言,它允许开发者创建交互式、动画化的Web...
在Flash开发中,使用ActionScript 3(AS3)与XML进行交互是一种常见的技术,它允许动态地加载和展示外部资源,如图片。本篇文章将深入探讨如何在Flash环境中使用AS3通过XML来加载外部图片。 首先,XML是一种轻量级...
当需要更换图片时,只需更新XML中的URL,重新加载并更新舞台上的显示对象。 7. **安全性与优化**: 在实际应用中,应注意安全问题,如跨域策略。同时,通过使用`Event.PROGRESS`监听图片加载进度,可以实现加载条...
9. **安全限制**:在Flash Player的安全模型下,跨域加载XML需要服务器端提供合适的跨域策略文件。否则,可能会遇到安全错误。 总的来说,AS3.0中的XML加载涉及URLLoader和XML类的使用,以及事件驱动编程的概念。...
在JavaScript中,跨域下载图片是一项常见的需求,特别是在处理外部链接的图片时。由于浏览器的安全策略,跨域请求通常受到限制,以防止恶意网站获取用户的敏感信息。在本例中,我们将探讨如何使用JavaScript和HTML5...
加载资源时,需要考虑安全策略,如跨域加载和本地文件访问。同时,必须处理可能出现的加载错误,通过监听`Event.ERROR`事件并提供适当的错误处理代码。 8. **内存管理** 当资源加载完成后,确保正确释放不再使用...
在Adobe Flash Professional CS5或更新版本的环境中,ActionScript 3(AS3)提供了一套强大的网络通信工具,包括`URLRequest`、`URLLoader`等类,这些类替代了早期版本中的`LoadVars`方法,使得与服务器的交互更加...
【描述】"http://blog.csdn.net/itas109/article/details/70285802"这篇博客文章详细介绍了如何在Tomcat服务器上设置CORS,以允许跨域请求。这通常对于前后端分离的Web应用或API服务来说非常重要,因为它们可能运行...
在本文中,我们将深入探讨如何使用...总的来说,创建一个AS3.0进度条控制加载的SWF涉及理解加载机制、事件处理、时间轴控制以及可能的跨域通信。熟悉这些概念,将使你能够创建出用户友好的、响应式的交互式应用程序。
- 安全限制:跨域加载SWF文件时,需要确保SWF具有正确的跨域策略文件,以防止安全错误。 - 版本兼容:确保你的Flash Player版本能够支持你想要加载的AS2 SWF的所有功能。 - 性能:AS2 SWF在AS3环境中运行可能会...
AS3(ActionScript 3)和JavaScript之间的通信是Web开发中的一个重要话题,特别是在构建富互联网应用程序(RIA)时。ActionScript 3是Adobe Flash Player和Adobe AIR中的编程语言,而JavaScript则是网页开发的标准...
1. **Video类**:这是AS3中的核心类,用于加载和显示视频内容。你可以通过创建`new Video()`对象来创建一个视频容器,然后通过`attachVideo()`方法将其与NetStream对象关联,以便播放视频。 2. **NetStream类**:...
同时,可能会遇到跨域问题,因为访问摄像头和加载外部资源(如XML模型文件)通常需要设置正确的安全策略。 总之,Flash AS3实现的人脸识别技术结合了计算机视觉理论、ActionScript编程和OpenCV的实用工具,为开发者...
这是由于AS3的安全沙箱模型,它限制了Flash内容从不同源加载数据,以保护用户免受跨域攻击。要解决这个问题,你需要创建一个跨域策略文件(crossdomain.xml),并将其放在服务器的根目录下。这个文件会告诉Flash ...
在Flash AS3编程中,加载(Loading)是关键功能之一,允许开发者动态地在应用程序运行时引入外部资源,如图像、SWF文件、XML或文本数据。本资源包含了一个名为"loading_as3"的示例项目,其中包括了loading_as3.fla...
在Web开发中,使用HTML5的canvas元素可以创建图形和处理图像,但是当需要在canvas上绘制来自不同域的图片资源时,浏览器出于安全考虑,会阻止跨域图片的绘制,这种现象被称为“跨域污染画布”。这个问题常常会出现在...
AS3.0中的安全沙箱机制限制了跨域加载内容。如果你的图片资源不在同一域下,你需要确保服务器返回了正确的跨域策略文件(crossdomain.xml)。 6. **优化加载性能**: 为了提高用户体验,可以考虑使用预加载器来...
在AS3中,可以通过`Security.loadPolicyFile()`方法加载XML跨域策略文件,而在HTML页面中则需要通过`<embed>`或`<object>`标签的`allowScriptAccess`属性设置允许脚本访问。 2. **ExternalInterface API**: Adobe...
在ActionScript 3 (AS3)中,与服务器进行数据交互是Web开发中的核心部分,主要依赖于两个关键类:`URLRequest`和`URLLoader`。这两个类是Flash Player和Adobe AIR应用程序用来发送HTTP请求并接收响应的重要工具。...