发新话题
打印

JS与flash交互通信控制的方法的一些补充

JS与flash交互通信控制的方法的一些补充

JS与flash交互通信控制的方法的一些补充
在网上一搜都是这篇文章:看了一下介绍,只是一个很初步的问题。
(这个地址不保证是原始作者的地址)
http://hi.baidu.com/lovehmp/blog/item/8b1688ea7526c7d2d439c9ea.html
我在作“仿QQ秀更换衣服”,是就需要一个功能就是:js调用flash里边的函数没有提到后来在flash的文档中,有幸找到:ExternalInterface (flash.external.ExternalInterface) > addCallback(ExternalInterface.addCallback 方法) ,特地和大家分分享。大家可以在帮助中搜索:ExternalInterface.addCallback ,就可以看到原文。
示例
下面的示例将 goToMacromedia() 函数注册为可使用名称 goHome 从容器调用。
/*----------
飞飞 07-10-18  www.mygamemylove.com  我的经验与你分享
Email mygamemylove@qq.com
*/
import flash.external.*;
var methodName:String = "goHome";
var instance:Object = null;
var method:Function = goToMacromedia;
var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method);
var txtField:TextField = this.createTextField("txtField", this.getNextHighestDepth(), 0, 0, 200, 50);
txtField.border = true;
txtField.text = wasSuccessful.toString();
function goToMacromedia() {
    txtField.text = "http://www.macromedia.com";
    getURL("http://www.macromedia.com", "_self");
}
为了使上一示例能够正常运行,应复制以下代码并将其粘贴到包含 HTML 页中。此代码依赖 OBJECT 标签的 id 属性和 EMBED 标签的 name 属性以获得值 externalInterfaceExample。由于 Internet Explorer 和 Netscape 以不同方式引用 movie 对象,所以函数 thisMovie 根据浏览器返回相应的语法。除非服务器上承载 HTML 页,否则您的浏览器可能会出现安全警告。
注意:请避免使用访问插件对象的其它方法(如 document.getElementById("pluginName") 或 document.all.pluginName),因为这些其它方法在所有浏览器上的运行不一致。
<form>
    <input type="button"  value="Call ExternalInterface" />
</form>
<script>
function callExternalInterface() {
    thisMovie("externalInterfaceExample").goHome();
}
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}
</script>

TOP

TOP

yun

TOP

看不懂这些,水平有限啊

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

发新话题