document.getElementById("object_id").functionName();在Firefox下失效。
主要的原因是id的 定位问题。
Object的id只能对IE起作用,而在FF里,这里的id应该是embed对象的。而FLEX自己带的模版并没有设置embed对象的ID,而只设置了它的name属性,因此而引起无法正确调用FLASH内部的程序(因为根本找不到FLASH)。
解决:首先要在FLEX模版目录的index.template.html中找到embed这个东西,然后在它的后面追加id="testid",大概看起来象这样:embed id="testid"…,这个地方是在不支持脚本的时候生成的,支持脚本的情况下,FLASH的显示是由AC_OETags.js来控制动态生成的,同样,编辑AC_OETags.js,找到str += "<embed 这句,同样在后面加上id="testid"。
最后页面上应该是这个样子:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="myplayer" width="582" height="468"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="myplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<embed id="mp" src="myplayer.swf" quality="high" bgcolor="#869ca7"
width="582" height="468" name="myplayer" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="always"
allowFullScreen="true"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer"
"wmode","transparent">
</embed>
</object>
另附上浏览器类型判断的js脚本:
function getOs()
{
if(navigator.userAgent.indexOf("MSIE")>0)return 1;
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)return 2;
if(isSafari=navigator.userAgent.indexOf("Safari")>0)return 3;
if(isCamino=navigator.userAgent.indexOf("Camino")>0)return 4;
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)return 5;
return 0;
}
分享到:
相关推荐
- **调用方法**:通过`ExternalInterface.call`在AS3端调用C#中的方法。 - **处理返回值**:C#端通过`axShockwaveFlash1.SetReturnValue`设置返回值。 - **事件处理**:C#端使用`axShockwaveFlash1_FlashCall`事件...
在本文中,我们将深入探讨如何在AS3.0(ActionScript 3.0)中使用ExternalInterface类与JavaScript进行交互,特别是在实现一个自定义播放器的场景中。这个主题是针对那些希望在网页中集成Flash内容并与网页的...
需要注意的是,`addCallback`仅在某些特定环境下有效,如Windows上的Internet Explorer使用NPRuntime API,以及Mozilla 1.7.5及更高版本的Firefox。在不支持的环境中尝试使用`addCallback`可能会触发`SecurityError`...
反过来,也可以在JavaScript中定义一个函数,然后在AS3中通过`ExternalInterface.call`来调用它。 不过,这个场景下提到的`test.fla`是一个Flash的工程文件,通常包含舞台上的对象、时间轴上的动作脚本以及项目的...
AS3代码中,我们可以使用`flash.external.ExternalInterface.addCallback`函数注册一个方法供JavaScript调用,同时在JavaScript中通过`ExternalInterface.call`来调用AS3的方法。这样,AS3可以向JS暴露功能,反之...
在AS3中,我们可以创建一个全局的ExternalInterface,该接口允许AS3代码与JavaScript或宿主环境(如VC++)进行通信。在AS3代码中,我们需要声明要暴露给外部调用的函数,例如: ```actionscript import flash....
- 在服务器端获取Cookie后,可以通过XMLSocket或ExternalInterface与AS3通信,将Cookie传递回来。 3. **删除Cookie**: - 删除Cookie是通过设置过期日期到过去来实现的。例如: ```as3 var removeCookieHeader:...
在跨平台的Web开发中,AS3(ActionScript 3.0)与JavaScript的交互是一项重要的技术,尤其在处理Flash内容时。本教程将详细解释如何实现AS3获取JavaScript回传的值,并将这些值显示在Flash的文本框中。由于这种交互...
- AS3代码中,使用`ExternalInterface.addCallback()`注册一个函数,使其可以在JavaScript或插件中被调用;使用`ExternalInterface.call()`则可以调用JavaScript或插件的方法。 5. **C#端实现**: - 在C#端,我们...
在移动应用开发领域,Adobe AIR(Adobe Integrated Runtime)是一个强大的跨平台框架,它允许开发者使用ActionScript 3(AS3)或Flex来构建桌面和移动应用程序。这些应用程序可以利用AIR运行时环境,实现与本地系统...
标题“FLASH CS3(AS3)与JS之间通信”涉及的是两种主要的Web技术——Adobe Flash(使用ActionScript 3,简称AS3)和JavaScript之间的交互。这两种技术在Web开发中各自发挥着重要作用,Flash主要用于动画和多媒体内容...
ExternalInterface在我看来就是flash为了外部程序的调用所声明的接口。看到论坛里有好多人问但是回答的就不是很多,就把自己做的一个简单的例子放上来.写的不好,希望能抛砖引玉,大侠勿拍!!这个是里面用到的flash...
10. **外部接口**:AS3可以与JavaScript进行交互,通过`ExternalInterface`类调用网页中的JavaScript函数或接收来自JavaScript的消息。 这本自学手册例子应该包含了一系列的实践项目,通过这些例子,你可以逐步理解...
3. **调用JavaScript函数**:在Flex中,你可以通过`ExternalInterface.call`方法调用JavaScript函数。例如: ```actionscript var result:Object = ExternalInterface.call("jsFunctionName", "参数1", "参数2"); ...
此压缩包提供的源码实例可能是为了展示如何在AS2、AS3和JS之间建立通信,以便在Flash和网页之间共享数据和控制行为。 1. **AS2与JS的交互**: AS2通过`ExternalInterface`类与JavaScript进行通信。在AS2中,`...
·Firefox 14 ·Chromium 22 ·Chrome 21 (*Chrome 21使用新的PPAPI类型Flash Player插件,由于其安全沙箱特性,无法在本地进行访问,因此需要在互联网或IIS等虚拟站点测试运行。禁用PPAPI使用NPAPI类型的Flash ...
例如,在AS3中创建一个事件,并通过`ExternalInterface.call()`传递到JavaScript,然后在JavaScript中注册事件监听器进行处理。 5. **安全性考虑**: 虽然`ExternalInterface`提供了一种强大的交互方式,但也可能...
2. **Flash通信接口**: AS3中,你可以定义一个ExternalInterface接口,它允许AS代码与JavaScript或宿主环境(在这种情况下是C#)进行通信。在AS3中,使用`ExternalInterface.addCallback`方法注册可从外部调用的函数...
在现代Web开发中,Flash(ActionScript 3.0,简称AS3.0)与JavaScript(JS)的交互是常见的技术需求,特别是在实现富互联网应用(RIA)时。这种交互能力使得网页上的Flash内容能够与JavaScript环境进行通信,从而...
3. **跨域通信**:在某些情况下,利用AS3与JS通信可以绕过浏览器的同源策略限制,实现跨域数据获取。 4. **游戏交互**:游戏中的得分、状态等信息可以实时更新到网页上,提供更好的用户体验。 5. **API集成**:将...