`
xiaotian_ls
  • 浏览: 304317 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex与JavaScript的交互:调用JavaScipt或者被JavaScript调用

    博客分类:
  • Flex
阅读更多

一、在JavaScript中调用Flex方法
在Flex中可以用ExternalInterface来调用Flex的方法,途径是通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex应用中通过调用addCallback()可以把一个方法添加到此列表中。addCallback将一个ActionScript的方法注册为一个JavaScript和VBScript可以调用的方法。
addCallback()函数的定义如下:
addCallback(function_name:String, closure:Function):void
function_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。

举个例子:
<mx:Script>
    import flash.external.*;
    public function myFunc():Number {
        return 42;
    }
    public function initApp():void {
        ExternalInterface.addCallback("myFlexFunction",myFunc);
    }
</mx:Script>
那么在Html页面中,先获得SWF对象的引用,也就是用<object .../>声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。
<script language="JavaScript" type="text/javascript">
    function callApp() {
        var x = MyFlexApp.myFlexFunction();
        alert(x);
    }
</script>
<button onclick="callApp()">Call App</button>



二、在Flex中调用 JavaScript
你可以调用Html页面中的JavaScript,通过与JavaScript的交互,可以改变Style,调用远程方法。还可以将数据传递给Html页面,处理后再返回给Flex,完成这样的功能主要有两种方法:ExternalInterface()和navigateToUrl()。
在Flex中调用JavaScript最简单的方法是使用ExternalInterface(),可以使用此API调用任意JavaScript,传递参数,获得返回值,如果调用失败,Flex抛出一个异常。
ExternalInterface封装了对浏览器支持的检查,可以用available属性来查看。
ExternalInterface的使用非常简单,语法如下:
flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object;
参数function_name是要调用的JavaScript的函数名,后面的参数是JavaScript需要的参数。
举个例子说明如何调用JavaScript函数
Flex应用中,添加如下方法:
<mx:Script>
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        import flash.external.*;
    
        public function callWrapper():void {
            var f:String = "changeDocumentTitle";
            var m:String = ExternalInterface.call(f,"New Title");
            trace(m);
        }
    </mx:Script>
    <mx:Button label="Change Document Title" click="callWrapper()"/>
</mx:Application>
Html页面中有如下函数定义:
<script language="JavaScript" type="text/javascript">
    function changeDocumentTitle(a) {
        window.document.title=a;
        return "successful";
    }
</script>

 

注意红色的部分,我在开发的时候写成<script type="text/javascript">,缺了language="JavaScript",结果在flex中调用javascript不成功

分享到:
评论

相关推荐

    delphi调用javascipt

    Delphi,作为一种强大的Object Pascal开发环境,提供了与JavaScript交互的能力,这得益于其内置的Internet组件和V8引擎的支持。 首先,我们需要了解Delphi中的TWebBrowser组件。TWebBrowser是基于Internet Explorer...

    TextShadowEffect:使用Javascipt30练习Javascript

    这个练习主要关注的是JavaScript与HTML、CSS的协同工作,以增强文本的表现力。在项目中,我们不仅会学习如何操作DOM(文档对象模型)来改变文本的样式,还会深入理解CSS文本阴影的用法,以及如何通过JavaScript动态...

    javascript-enligbtenment:javascipt授权

    JavaScript Enlightenment 是一本旨在深化开发者对JavaScript理解的书籍或教程,主要关注的是JavaScript的授权机制。在JavaScript编程中,授权涉及到代码的访问控制、模块系统以及如何保护和管理代码资源。以下将...

    毕业设计-基于JavaScript与CSS的电商系统项目实现

    2. **DOM操作**:Document Object Model (DOM)是JavaScript与HTML交互的桥梁。通过DOM,开发者可以添加、删除或修改网页元素。例如,利用DOM可以实现商品的动态加载和用户交互。 3. **ECMAScript**:JavaScript的...

    javascript中文经典帮助手册

    在JSP(JavaServer Pages)开发中,JavaScript通常用于客户端的交互,与服务器端的Java代码相辅相成。通过Ajax技术,JavaScript可以实现无刷新的数据交换,提高用户体验。同时,前端框架如React、Vue或Angular等,...

    javascript经典实例源码

    JavaScript,作为全球最广泛使用的编程语言之一,是创建交互式网页和动态应用的关键工具。这个“javascript经典实例源码”集合提供了一系列小实例,对于深入理解JavaScript语法、函数、对象、DOM操作以及事件处理等...

    轻松学用JAVASCIPT编程(教程)

    DOM(文档对象模型)是JavaScript与HTML交互的关键。通过DOM,我们能够查找、修改和添加HTML元素。比如,要改变某个元素的文本内容,可以使用`document.getElementById('elementId').innerHTML = '新内容';` 异步...

    SWF(ActionScript3.0)与JavaScipt(JS)通信示例

    推荐对所有JavaScript与ActionScript之间的通信使用ExternalInterface。 在HTML页中使用JavaScript,可以调用FlashPlayer中的ActionScript函数。ActionScript函数可以返回一个值,JavaScript会立即接收它作为该调用...

    javascript Tree

    “dtree”可能是某个特定的JavaScript Tree库的名字,或者是一个示例代码文件。这个库可能提供了创建、管理和操作树形结构的API,包括但不限于: - 初始化树结构:通过传入数据源(如JSON对象)来构建树。 - 添加、...

    600个javascript实例

    事件处理和DOM操作是JavaScript与用户交互的基础。实例中可能包含了如何绑定事件、触发事件、获取和修改DOM元素的属性、样式以及添加和删除DOM节点等内容。 JavaScript还提供了强大的BOM(浏览器对象模型)和Cookie...

    mathematics-js

    第二步:在 JavaScript 中实现公式 第 3 步:创建角色 第四步:将 JavaScipt 与 HTML 集成 研讨会#2:百分比和折扣 第一步:定义公式 第二步:在 JavaScript 中实现公式 第 3 步:创建角色 第四步:将 JavaScipt 与 ...

    javascipt教程

    "Javascipt.chm"可能是一个包含JavaScript详细教程的CHM帮助文件,你可以通过它深入学习各种概念和技术。"使用说明文档.txt"则可能提供了如何阅读和利用这个教程的指南,确保你能充分利用这些资源。在学习过程中,...

    Programming JavaScript Applications

    With this digital Early Release edition of Programming JavaScript Applications, you get the entire book bundle in its earliest form—the author's raw and unedited content—so you can take advantage of...

    JavaScipt基本教程之JavaScript语言的基础

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责实现客户端的交互性和动态效果。本教程将深入探讨JavaScript的基础知识,包括如何在HTML中插入JavaScript代码、JavaScript的基本语法以及变量和...

    gwt-esri:ESRI Javascipt API 的 GWT 包装器

    gwt-esri ESRI Javascipt API 的 GWT 包装器 目前能够在 esri js api 的 3.4 上运行。 旧版本的代码仍然可以在这里找到: : 看起来谷歌代码要睡觉了。 现在可以在 Github 上找到 Javadocs

    javascipt complete reference

    - 函数定义与调用的基本语法。 - 参数传递机制,包括默认参数、可变参数等。 - 函数的作用域与闭包的概念。 - 高阶函数的使用。 #### Chapter 6 - 对象 - 对象的概念及其在 JavaScript 中的重要性。 - 创建对象的...

    ArcGIS API for JavaScript 3.23下载

    《ArcGIS API for JavaScript 3.23:深入解析与应用》 ArcGIS API for JavaScript是Esri公司推出的一款强大的地图开发工具,主要用于构建交互式的二维和三维Web地图应用程序。在本文中,我们将深入探讨3.23版本的...

    数组乱序 javascript

    数组乱序 javascript

Global site tag (gtag.js) - Google Analytics