`
yshao81710
  • 浏览: 94054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AS3跨域加载图片时设置

阅读更多
跨域加载外部图片除需要设置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 as3 加载图片的两种方法

    在Flash ActionScript 3.0 (AS3) 中,加载图片是常见的操作,适用于创建动态图形、游戏或者交互式应用程序。本篇文章将详细介绍两种方法来加载图片,并通过代码实例进行解析。 方法一:使用Loader 类 Loader 类是...

    MP3跨域音频频谱AS3播放器

    【MP3跨域音频频谱AS3播放器】是一种基于Adobe Flash ActionScript 3(AS3)技术开发的多媒体播放器,专为处理跨域音频频谱显示而设计。ActionScript是Flash平台上的编程语言,它允许开发者创建交互式、动画化的Web...

    FLASH XML加载外部图片

    在Flash开发中,使用ActionScript 3(AS3)与XML进行交互是一种常见的技术,它允许动态地加载和展示外部资源,如图片。本篇文章将深入探讨如何在Flash环境中使用AS3通过XML来加载外部图片。 首先,XML是一种轻量级...

    as3.0通过XML加载外部图片实例

    当需要更换图片时,只需更新XML中的URL,重新加载并更新舞台上的显示对象。 7. **安全性与优化**: 在实际应用中,应注意安全问题,如跨域策略。同时,通过使用`Event.PROGRESS`监听图片加载进度,可以实现加载条...

    as3.0 XML加载

    9. **安全限制**:在Flash Player的安全模型下,跨域加载XML需要服务器端提供合适的跨域策略文件。否则,可能会遇到安全错误。 总的来说,AS3.0中的XML加载涉及URLLoader和XML类的使用,以及事件驱动编程的概念。...

    javascript使用链接跨域下载图片

    在JavaScript中,跨域下载图片是一项常见的需求,特别是在处理外部链接的图片时。由于浏览器的安全策略,跨域请求通常受到限制,以防止恶意网站获取用户的敏感信息。在本例中,我们将探讨如何使用JavaScript和HTML5...

    flash actionscript3 纯AS3代码_资源加载进度条.rar

    加载资源时,需要考虑安全策略,如跨域加载和本地文件访问。同时,必须处理可能出现的加载错误,通过监听`Event.ERROR`事件并提供适当的错误处理代码。 8. **内存管理** 当资源加载完成后,确保正确释放不再使用...

    AS3 中使用 URLRequest 和 URLLoader 与服务器交互

    在Adobe Flash Professional CS5或更新版本的环境中,ActionScript 3(AS3)提供了一套强大的网络通信工具,包括`URLRequest`、`URLLoader`等类,这些类替代了早期版本中的`LoadVars`方法,使得与服务器的交互更加...

    cors跨域Tomcat文件

    【描述】"http://blog.csdn.net/itas109/article/details/70285802"这篇博客文章详细介绍了如何在Tomcat服务器上设置CORS,以允许跨域请求。这通常对于前后端分离的Web应用或API服务来说非常重要,因为它们可能运行...

    AS3.0 进度条控制加载的swf

    在本文中,我们将深入探讨如何使用...总的来说,创建一个AS3.0进度条控制加载的SWF涉及理解加载机制、事件处理、时间轴控制以及可能的跨域通信。熟悉这些概念,将使你能够创建出用户友好的、响应式的交互式应用程序。

    flex加载as2写的swf,内容是一个很雷的网页游戏AD

    - 安全限制:跨域加载SWF文件时,需要确保SWF具有正确的跨域策略文件,以防止安全错误。 - 版本兼容:确保你的Flash Player版本能够支持你想要加载的AS2 SWF的所有功能。 - 性能:AS2 SWF在AS3环境中运行可能会...

    AS3与JS通信

    AS3(ActionScript 3)和JavaScript之间的通信是Web开发中的一个重要话题,特别是在构建富互联网应用程序(RIA)时。ActionScript 3是Adobe Flash Player和Adobe AIR中的编程语言,而JavaScript则是网页开发的标准...

    as3视频播放 flash实例 下载 源码

    1. **Video类**:这是AS3中的核心类,用于加载和显示视频内容。你可以通过创建`new Video()`对象来创建一个视频容器,然后通过`attachVideo()`方法将其与NetStream对象关联,以便播放视频。 2. **NetStream类**:...

    renlianshibie.rar_FlashAS3人脸识别_as3_as3 人脸_flash as3_flash人脸

    同时,可能会遇到跨域问题,因为访问摄像头和加载外部资源(如XML模型文件)通常需要设置正确的安全策略。 总之,Flash AS3实现的人脸识别技术结合了计算机视觉理论、ActionScript编程和OpenCV的实用工具,为开发者...

    MP3播放器用as实现

    这是由于AS3的安全沙箱模型,它限制了Flash内容从不同源加载数据,以保护用户免受跨域攻击。要解决这个问题,你需要创建一个跨域策略文件(crossdomain.xml),并将其放在服务器的根目录下。这个文件会告诉Flash ...

    FLASH AS3 loading 源文件 源代码

    在Flash AS3编程中,加载(Loading)是关键功能之一,允许开发者动态地在应用程序运行时引入外部资源,如图像、SWF文件、XML或文本数据。本资源包含了一个名为"loading_as3"的示例项目,其中包括了loading_as3.fla...

    canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法

    在Web开发中,使用HTML5的canvas元素可以创建图形和处理图像,但是当需要在canvas上绘制来自不同域的图片资源时,浏览器出于安全考虑,会阻止跨域图片的绘制,这种现象被称为“跨域污染画布”。这个问题常常会出现在...

    Flash AS3.0 Loading an External Image

    AS3.0中的安全沙箱机制限制了跨域加载内容。如果你的图片资源不在同一域下,你需要确保服务器返回了正确的跨域策略文件(crossdomain.xml)。 6. **优化加载性能**: 为了提高用户体验,可以考虑使用预加载器来...

    AS3与JaveScript之间的通讯视频讲解

    在AS3中,可以通过`Security.loadPolicyFile()`方法加载XML跨域策略文件,而在HTML页面中则需要通过`<embed>`或`<object>`标签的`allowScriptAccess`属性设置允许脚本访问。 2. **ExternalInterface API**: Adobe...

    AS3中使用URLRequest和URLLoader 与服务器交互

    在ActionScript 3 (AS3)中,与服务器进行数据交互是Web开发中的核心部分,主要依赖于两个关键类:`URLRequest`和`URLLoader`。这两个类是Flash Player和Adobe AIR应用程序用来发送HTTP请求并接收响应的重要工具。...

Global site tag (gtag.js) - Google Analytics