FLEX中调用JavaScript
其实只是FLEX中的一个“小”方法或技巧 涉及这个类:
ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 JavaScript 的 HTML 页。Adobe 建议用 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信。 eg:比如我们要获取当前访问页面的url var add:String=ExternalInterface.call("window.location.href.toString",1); Alert.show(add); 后面两个参数是干啥的呢?查看FLEX的api文档:
调用由 Flash Player 容器公开的函数,不传递参数或传递多个参数。如果该函数不可用,调用将返回 如果该容器是 HTML 页,则此方法在 如果该容器是某个其他 ActiveX 容器,此方法将使用指定的名称分派 FlashCall ActiveX 事件,并且该容器将处理该事件。 如果该容器承载 Netscape 插件,您可以写入对新 NPRuntime 接口的自定义支持或嵌入 HTML 控件以及在 HTML 控件内嵌入 Flash Player。如果嵌入 HTML 控件,则可以通过本机容器应用程序的 JavaScript 接口与 Flash Player 进行通信。 注意:对于在浏览器中运行的本地内容,仅当 SWF 文件以及包含它的网页(如果有)位于受信任的本地安全沙箱中时,才允许调用 在 Flash Player 10 和 Flash Player 9 Update 5 中,如果启用了弹出窗口阻止程序,则某些 Web 浏览器限制使用此方法。在这种情况下,只有在响应用户事件(例如,在鼠标单击或按键事件的事件处理函数中)时才能成功调用此方法。 参数 :
这样就很明白了,比如我们调用Math中的max方法: eg: var add:String=ExternalInterface.call("Math.max",555,888); Alert.show(add); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |