• 2007-09-27

    flash交互整理

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://wxsr.blogbus.com/logs/10047563.html

    发表于 :2007-07-02 12:19
     
     
    flash交互整理
     
    好一段时间没有更新博客了~。最近发生的事比较多,人也比较累了。
    。。。。。。。。。。

    闲话不多说了,入正题吧。
    一如大家一般所知道的,falsh与后台之间的交互的方式有很多。
    其实所谓交互莫非就是flash与不同载体间的信息通信
    简而言之就是:(发送)跟 (接受)信息。
    发送内容一般会是 (xml,变量,以及字符串)等。
    而发送方式主要有 (GET 跟POST)两种;
    说到这里大家先要区别下GET跟POST两中方式之间的区别,
    一般来说GET方式适宜用来传输数据两比较小的内容,想字符串跟变量等;
    GET方式主要是通过问号符?在url后追加信息,内容可以在地址栏看到,保密性相对比较低的一种传输方式;
    而POST方式一般是适宜用于传输数据两比较大的信息内容,(xml, 跟比较长的饿字符串或者数组内容等)
    POST是通过数据流的方式进行传输的,而且信息内容不可见,保密性相对比较好;


    说完了GET 跟 POST的区别与联系,接下来,再说说在falsh中用于交互的方法;

    对于falsh而言,用于通信而比较常用的方法
    莫过于getURL(),sendAndload().loadvars(),这3种传值方法了;

    先说说getURL()

    getURL(url:String, [window:String, [method:String]]) : Void
    象我们要给页面http://www.test.com/main.asp发送一些信息。做法是
    在地址后一问号符?后追加变量跟其值;val=00000,要发送多个变量以&连接符连接就少了;
    getURL(“http://www.test.com/main.asp?val=00000“,“_blank“,“GET“)
    getURL(http://www.test.com/main.asp?val_1=00000&val_2=1111,“_blank“,“GET“)

    post方法大同小异
    getURL(“http://www.test.com/main.asp?val=00000“,“_blank“,“POST“)
    getURL(http://www.test.com/main.asp?val_1=00000&val_2=1111,“_blank“,“POST“)


    下边说说用的比较多的方法sendAndload().
    sendAndload().这个方法之所以用的比较多主要在于其除了提供了getURL一样的功能外,还多了返回功能,除此之外,loadvars类中还有相关检测方法的方法
    诸如:onLoad,onData等。。。。

    public sendAndLoad(url:String, target:Object, [method:String]) : Boolean

    url是接受信息的处理页面,target是返回信息的载体对象,method就是“GET“/“POST“两种方法;
    用sendAndload的好处之一就是接收方可以以属性的形式接受信息内容,免去了很多不必要的麻烦。

    var sendval:LoadVars = new LoadVars ()
    var getval:LoadVars = new LoadVars ()
    sendval.val_1=0000;
    sendval.val_2=“你好“
    sendval.sendAndLoad(“http://www.text.asp“,getval,“POST“)
    trace(sendval.toString())
    getval.onLoad=function(success){
    if(success){
    trace(this)
    }
    }
    还有要补充下的就是,
    sendAndLoad除了loadVars类有之外xml类也有相同的方法的~~但略有不同的是

    public sendAndLoad(url:String, resultXML:XML) : Void

    xml类里的sendAndLoad返回的是一个xml;
    除此之外我们还可以用send跟call的方法进行通信交互,原理都差不多;


    上边几个常有的饿方法说完了,接下来说说一些比较少用到的有
    fscommand,flash.external.ExternalInterface,跟一些现在瞒流行的方法webServer,removing
    fscommand跟flash.external.ExternalInterface类其实都允许js扩展,
    就是说我们可以通过他们可以跟页面进行相关通信交互;
    fscommand ("val", 0000);
    val:变量名;0000:val对应的值

    或者
    SendData = new LoadVars ();
    ?SendData.Interface = 1;
    ?SendData.Interface2 =?2
    ?fscommand (url, unescape (SendData));

    /////////////////////////////////////////////////////////////////
    flash.external.ExternalInterface类相信大家会比较陌生的~
    flash.external.ExternalInterface类是flash 的一个扩展类;
    主要用于扩展js;
    现在说说如何在flash里边定义一个函数,而用于js的调用
    flash.external.ExternalInterface.addCallback("Msg", this, Msg);
    function Msg(str:String):Void {
    tarce(“helloWord“)
    }
    这样我们就定义了一个允许js脚本调用的名为Msg的函数了~

    下会有时间再给大家补充下webServer跟removing
    但其实都是对.net支持而已,无非就是调用web 段的方法之云~~也没什么的~~


    收藏到:Del.icio.us




    评论

  • 支持一下。,

发表评论

您将收到博主的回复邮件
记住我