【FLEX教程】#007 如何让JS调用SWF里的方法

HTML中,JS如何调用SWF里面已经封装好的代码呢?

有一些事情Flex没办法实现的,需要通过调用JS来实现。

eg: 当浏览器窗体关闭的时候,弹出一个对话框,提示用户是否退出?或者是否保存当前的操作?


让JS能够调用SWF里面的方法,需要再Flex添加一个回调函数

//注册外部函数
ExternalInterface.addCallback("checkExit",checkExit);

提示:1、第一个参数:方法的key, 在JS调用的时候,就是用这个名字。第二个参数:Flex中回调方法名。

2、该方法最好放在 页面加载完成 的事件处理里面。(这样页面加载完,就会添加这个回调函数)

JS的调用方法例子

<script  type="text/javascript" language="javascript">
function clos(){
    var data = mapContext.map.checkExit();   //mapContext.map 这边用HTML 中 Object 的ID
    // alert(data);
    var json = $.parseJSON(data);
    var url = "";
    if(confirm("您还未保存控件信息,是否保存再退出?")){
        $.ajax({
            url: url,
            cache: false,
            data: json,
            async: false,
            success: function(result){
                if(result){
                    alert("保存成功");
                    return ;
                }
            }
        });

    }else{
     event.returnValue="还未保存,确定离开当前页面吗?";
    }
}
</script>

注意:调用的时候,记得用Object的ID   ,eg : swfDemo.方法名

时间: 2024-08-08 13:42:24

【FLEX教程】#007 如何让JS调用SWF里的方法的相关文章

js调用swf文件代码

<script type="text/javascript" language="javascript" src="Scripts/swfobject.js"></script> <script language="javascript"> function load(){ var swfVersionStr = "10.0.0"; var params = {}; pa

?js调用PHP里的变量,怎么弄?

js调用PHP里的变量,怎么弄 网上给的例子都是js文件里一开始先给这个变量一个值,要是那样有啥意思啊,我要的就是可以变化的. hychyc_2008 | 浏览 2741 次  2013-04-18 12:24 2013-04-20 10:34 最佳答案 <script>var str=<?php echo $value;?></script>这种做法我以前用过,有的浏览器可以,有的浏览器就认不出来.具体是IE几我忘了~~~好像是IE6认不出来.我的做法是:<?p

JS调用微软ocx的方法

<!-- 调用 ocx, myOcx 为<object>中的 id:--> <script> myOcx.IOStart(); </script> <body> <!-- JS调用微软 ocx 的方法,先用<object>加载ocx控件 --><!-- 最重要的一点, <object>须放在所要展现的<div>中  T_T --><div>    <object  id

JS调用asp.net后台方法:PageMethods

先帮朋友宣传一下程序人生(http://www.manong123.com)的网站,里面都是开发感悟,开发人员创业,支持一下吧~ 原来是通过PageMethods来实现的. 举个列子: Default.aspx 里代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <

WebView之js调用Android类的方法传递数据

1,具体的思路如下: 在android中写一个Activity,里面写一个webview,这个webview加载本地的一个html文件,显示这个网页,这个网页包括一个用户名和密码的输入框和两个按钮(只有登陆按钮有用),输入用户名密码之后调用android中的类,并把输入的数据传过去,再在android中输出出来(具体你那数据做什么操作就看你的需求了),这样就做大额js与android数据交互的效果了: 在android端,一些webviwe的设置和自定义类的写法如下源码: package com

webview中js调用Android中的方法

package com.example.helloworld; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.webkit.WebView; public class MainActivity extends Activity { private WebView webView = null

远程调用服务里的方法service,进程间通信adil的学习

1当一个进程需要调用另外一个进程的方法时候,进程可以通过aidl文件以接口的方式将方法抛出.比如android没有对外提供挂电话的方法,若用户想要调用这个方法就必须与电话管理这个应用程序通信,调用挂电话的方法. 2.下面我就举例一个demo调用远程服务里的方法.为了验证service能否单独启动,这个demo启动了2个远程服务,一个有activity的一个只有service的.并且他们抛出的接口名字相同,正好学习一下同名的引用,发现一个java文件里只能import  1个同同名的类,若想调用另

用.native修饰器来对外部组件进行构造器内部方法的调用以及用原生js获取构造器里的方法

html <div id="app"> <span v-text="number"></span> <btn @click.native="add(10,$event)"></btn> <button @click="add(10,$event)">add</button> </div> <button onclick=&qu

在JS中调用CS里的方法(PageMethods)

最近一直在看别人写好的一个项目的源代码,感觉好多东西都是之前没有接触过的.今天在代码中看到了一个类PageMethods,于是就在想,这个类是系统类还是自定义的呢?后面再网上百度了一下,原来PageMethods是用来在JS里调用CS里写好的方法.感觉这种方法的功能特别强调,所以在这里记录一下,也希望对大家有所帮助. 实例: Default.aspx 代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFi