先看Flash帮助的对于addCallback相关说明:
public static addCallback(methodName:String, instance:Object, method:Function) : Boolean
methodName:String - 从 JavaScript 调用 ActionScript 函数时可使用的名称。此名称不必与 ActionScript 方法的实际名称匹配。
instance:Object - this 在该方法中被解析成的对象。此对象不一定是在其上可找到该方法的对象,您可以指定任何对象(或 null)。
method:Function - 要从 JavaScript 调用的 ActionScript 方法。
Flash第一帧代码如下:
import flash.external.*;
var methodName:String = "doit";
var instance:Object = null;
var method:Function = test;
ExternalInterface.addCallback(methodName, instance, method);
var a = 0;
function test() {
a++;
}
html中部分代码如下:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="830" height="411" id="externalSample" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="external.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="external.swf" quality="high" bgcolor="#ffffff" width="830" height="411" name="externalSample" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" swLiveConnect="true"/>
</object>
<script>
function callExternalInterface() {
thisMovie("externalSample").doit();//对应Flash中的methodName的值,并注意externalSample与Object id要相同
}
function thisMovie(movieName) {//保证浏览器兼容
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
</script>
<form>
<input type="button" onclick="callExternalInterface()" value="Call ExternalInterface" />
</form>
分享到:
相关推荐
2. **从JavaScript调用Flash** 在HTML页面中,通过JavaScript调用Flash影片中的函数,例如更改文本字段的内容。 - **HTML页面**(示例代码片段): ```html function changeText(newText) { document....
除了ExternalInterface.addCallback,ExternalInterface还提供了其他方法,如`call`,允许JavaScript调用ACTIONSCRIPT中的任何公开函数,即使它们没有在ACTIONSCRIPT中注册。例如: ```javascript document....
在JavaScript和Flash之间进行交互是Web开发中的一个经典主题,特别是在过去Flash广泛用于实现音频、视频播放和动画的时候。本文将深入探讨如何在JavaScript中调用Flash,以及在这个过程中可能遇到的问题。 首先,...
本文将深入探讨如何利用CEFSharp实现JavaScript调用C#方法,并获取返回的参数。 首先,理解CEFSharp的工作原理至关重要。CEFSharp是Chromium Embedded Framework(CEF)的.NET封装,而CEF是一个开源项目,用于在...
5. **Flash ActionScript**:在ActionScript代码中,可以使用`ExternalInterface.addCallback`注册一个函数,使其可被JavaScript调用。同时,Flash可以使用`ExternalInterface.call`方法调用JavaScript函数: ```...
本篇文章将深入探讨如何通过JavaScript调用Flash(ActionScript)中的方法,以实现两者之间的通信。这个过程通常被称为“外部接口”或“External Interface”。 首先,我们需要确保Flash支持与JavaScript的交互。在...
1. 在Flash中启用External Interface:首先在AS3代码中,我们需要启用ExternalInterface.addCallback方法,注册一个可以被JavaScript调用的方法。 ```actionscript ExternalInterface.addCallback("callFromJS", ...
在Flash中,如果希望调用JSP页面上的JavaScript函数,则可以使用`ExternalInterface.addCallback`方法。此方法可以注册一个回调函数,该回调函数能够在Flash端执行后被调用。 ```actionscript // Flash端代码 ...
4. 使用JavaScript调用Flash的全屏切换函数,根据需要进入或退出全屏。 这个过程不仅涉及到JavaScript和ActionScript的交互,还涉及到浏览器的事件处理和安全策略,因此在实际应用中需要对这些方面有深入理解。通过...
在Flash中,我们需要通过`ExternalInterface.addCallback`方法注册一个可供JavaScript调用的函数。例如,我们可以创建一个名为`loadDocument`的函数来加载FlashPaper文档: ```actionscript // 在AS3中 import ...
这允许JavaScript调用Flash中的函数。在这个例子中,每当JavaScript调用`onChange`时,Flash中的`onChange`函数就会被触发。 #### 3. 处理颜色值 文件还提到了一个具体的示例,即如何在Flash中改变一个矩形的颜色...
这可以通过在Flash的AS3代码中添加`flash.external.ExternalInterface.addCallback`方法来实现,指定一个ActionScript方法和JavaScript可以调用的名称。 2. **定义可调用的ActionScript方法**:在ActionScript中...
本文将详细介绍如何使用JavaScript(JS)来实现这样的Flash加载进度条。 首先,理解基本原理。Flash Player在加载SWF文件时,会发送一些关于加载进度的信息,这可以通过Flash的ActionScript接口访问。JavaScript与...
在JavaScript中实现Flash图片显示,主要是利用Flash Player插件与JavaScript进行交互,为用户提供动态的、交互式的图片展示效果,通常用于创建动画效果或者幻灯片展示。Flash Player是一种广泛使用的多媒体播放器,...
在`quit.fla`中,开发者可能使用`ExternalInterface.addCallback()`方法注册一个AS3函数,使其可被JavaScript调用,然后在`quit.html`的JavaScript代码中调用这个函数。 例如,在AS3中: ```actionscript if ...
总结来说,C# WinForm调用B/S中的JavaScript方法主要是通过WebBrowser控件加载页面并调用其中的JavaScript函数,而JavaScript调用WinForm的方法则需要利用`window.external`对象和COM互操作性。这样的交互方式虽然...
标题和描述中的“JS与FLASH相互调用”指的是在网页开发中JavaScript(简称JS)与Adobe Flash之间的交互技术。在Web开发的历史上,Flash曾是创建动态内容、视频播放和复杂用户界面的主要工具之一,而JavaScript则是...
2. **使用TypeScript和window.external接口**:对于不支持ActiveX的现代浏览器,可以使用TypeScript(TS)作为JS的超集,它提供了与C#类型系统更接近的语法。首先,我们需要在TS中声明C#接口: ```typescript ...
这里定义了一个名为`toggleFullScreen`的函数,这个函数将在JavaScript调用时触发全屏切换。 3. **编写JavaScript**:在JavaScript中,我们可以调用`ExternalInterface.call`方法来调用Flash中的ActionScript函数。...
在JavaScript中,你可以通过`swfObject`或者`document.getElementById('flashId').callFunction('myFunction')`来调用这些AS函数。 2. FlashVars 在HTML代码中,我们可以通过`<object>`或`<embed>`标签的`...