最近碰到一个棘手的问题,就是设计As与Js通信的Flex项目编译后,将bin-debug目录放在其他路径下,其中的As与Js 通信就会出现问题。而且连SDK中的sdks\3.2.0\frameworks\javascript\fabridge\samples下的例子也会运行不正常。
try catch之后获取异常为#2060安全沙箱冲突的问题。但是如何解决这个问题呢。
google了一下,找到了这篇不错的blog,里面讲的很详细,既不赘述其原理了,例如:
http://apps.hi.baidu.com/share/detail/16158883
主要原因就是Flex安全沙箱的问题,通过上面的博客解决的办法有了。
1.找到本地计算机Flash Player的安装路径,我的是win7路径是:
(C:\Windows\SysWOW64\Macromed\Flash\FlashPlayerTrust),
(注:其中的FlashPlayerTrust文件夹如果没有需要自己创建,xp的路径应该是:C:\Windows\System32\Macromed\Flash\FlashPlayerTrust)
2.在FlashPlayerTrust文件夹中创建一个.cfg(自定名称即可),文件内容为
c:\
d:\
e:\
(注:这里可以指定将来插件的安装路径,减小风险。每个路径占一行,用#添加注释)
3.讲过如上操作放在c/d/e盘下的flash文件就能正常的完成As和Js的通信了。
问题的关键在于Flex的安全机制,Flex的安全模型是围绕SWF文件、本地数据和Internet URL等这些对象资源设计的。设计到上述问题的应该是计算机管理用户控制。
管理用户和安装应用程序可以指定本地swf文件注册为受信。这些swf文件会被分配到受信的本地沙箱。他们可以与任何其他swf文件进行交互,也可以从任何位置(远程或本地)加载数据。
插件中需要加入上述授权文件。
通过上述设置,通讯正常了,通过这个问题对安全沙箱的安全机制了解了不少,对处理安全问题方面的内容有机攒了点经验。
分享到:
相关推荐
亲测可用!我也是初学者,找了好久,网上都语焉不详。还是CSDN好! 1、as文件是源代码,fla是源文件。...if (ExternalInterface.available)ExternalInterface.call("sendToJavaScript", ala2);这一句话。
在JavaScript中,可以通过`document.getElementById('flashObjectID')`获取到Flash对象,并直接访问这些属性和方法,实现Flash与JS的通信。 以下是一个简单的示例,展示了如何使用ExternalInterface API进行双向...
通过这个类,我们可以定义AS3.0中的方法,使其能在JavaScript环境中被调用,同时也可以从JavaScript调用AS3.0中的函数,实现双向通信。 1. **从AS3.0调用JavaScript**: 要使AS3.0代码能调用JavaScript,首先需要...
JavaScript(JS)与ActionScript(AS)是两种不同的脚本语言,它们在Web开发和富互联网应用程序(RIA)中都发挥着重要作用。JS主要用于浏览器端的交互和动态效果,而AS主要与Adobe Flash平台相关,用于创建动画和...
本文将深入探讨如何实现JS与AS的交互,以及如何通过JS调用Flash中的方法。我们将通过几个关键知识点来理解这一过程。 首先,我们需要了解ExternalInterface API。这是Adobe Flash Player提供的一个接口,允许...
3、使用Flash中的ExternalInterface.call方法和fscommand方法对JS进行调用与传送数据。 4、使用Flash中的ExternalInterface.addCallback方法创建接口,使JS能够调用AS中的函数。 包含swfobject.js与fla源文件。 (*...
在本文中,我们将深入探讨如何在AS3.0(ActionScript 3.0)中使用ExternalInterface类与JavaScript进行交互,特别是在实现一个自定义播放器的场景中。这个主题是针对那些希望在网页中集成Flash内容并与网页的...
2. **调用JS函数**:使用`ExternalInterface.call`方法,传入JS函数名和参数(如果有的话)。例如,如果你有一个名为`hello`的JS函数,你可以这样调用: ```actionscript var result:String = ExternalInterface....
AS3代码中,我们可以使用`flash.external.ExternalInterface.addCallback`函数注册一个方法供JavaScript调用,同时在JavaScript中通过`ExternalInterface.call`来调用AS3的方法。这样,AS3可以向JS暴露功能,反之...
在AS中,我们可以使用ExternalInterface类来与JavaScript进行通信。ExternalInterface.addCallback方法允许我们在AS中定义一个函数,然后在JavaScript中调用它。例如,我们可以在AS中定义一个播放函数,然后在...
标题 "一个Flash和JavaScript通信的例子" 涉及的核心技术是Flash与JavaScript之间的交互,也称为Flash External Interface(简称FEI)或者ActionScript JavaScript Bridge(AS3 JSBridge)。这种技术允许网页中的...
标题“FLASH CS3(AS3)与JS之间通信”涉及的是两种主要的Web技术——Adobe Flash(使用ActionScript 3,简称AS3)和JavaScript之间的交互。这两种技术在Web开发中各自发挥着重要作用,Flash主要用于动画和多媒体内容...
6. **最佳实践**:为了提高性能和用户体验,避免频繁的ActionScript和JavaScript通信。考虑批量处理数据,或者使用事件驱动的通信模型。 这个程序例子将展示如何配置和使用这些机制,以便在ActionScript和...
AS3的`addCallback`方法和`call`方法分别用于设置可从JS调用的函数和从AS3调用JS函数。与AS2不同,AS3要求在发布时明确启用`allowScriptAccess`参数,以允许这种跨域交互。 3. **互调用的基本流程**: - **JS到AS*...
3. **调试**:AS3与JS通信时的错误通常难以定位,使用`trace`语句进行日志记录或使用Flash的调试版本可以帮助解决问题。 总结来说,AS3与JS的相互通信是Web开发中增强互动性和功能的重要手段,尽管随着HTML5和WebGL...
总结来说,JS调用AS的Flash函数是通过`ExternalInterface`接口实现的,它允许在JS和AS之间建立双向通信,使得动态内容的实现更为丰富和灵活。在实践中,开发者需要考虑安全、兼容性和数据转换等问题,以确保在各种...
总结来说,AS3与JavaScript的交互通过`ExternalInterface`类实现,允许它们之间进行方法调用和数据交换。这种方法在动态内容更新、用户交互以及Flash与服务器通信等方面非常有用,是构建富互联网应用程序(RIA)的...
JavaScript(简称JS)和ActionScript(AS)是两种在不同领域广泛应用的脚本语言。JS主要在Web前端用于实现交互式网页,而AS主要是Flash开发中的核心语言。在这个"js与as的相互调用Demo"中,我们将探讨如何在这两者...
总结,JS调用AS函数是通过Flash的ExternalInterface API实现的,它允许在JavaScript和ActionScript之间建立通信桥梁。尽管这种方法在某些场景下仍然有用,但随着Web技术的发展,开发者应该逐步转向更现代的解决方案...
总结来说,`flex iframe js`是一种结合了Flex的RIA能力和JavaScript的Web页面交互能力的技术,它通过`ExternalInterface`实现了ActionScript与JavaScript之间的数据交换和功能调用,从而丰富了Web应用的交互体验。...