Flash讀寫cookie

來源:互聯網
上載者:User

flash cookie 主要利用了ShareObject類實現。flash cookie的好處是使用者不易刪除並且可以寫入大量資料,但缺點是如果使用者屏蔽掉了flash那就over了。
主類主要給外部js提供了方法。
用途:可以將swf設定成1x1像素,隱藏掉。利用js寫入。
cookie類

代碼如下:

package com.tools {
  import  flash.net.SharedObject;
  //
  public class Cookie {
    private var _$so:SharedObject;
    ///
    function Cookie() {
      init();
    }
    private function init():void {
    }
    //--------------------------------------------//
    public function setCookie(key:String, val:String, name:String = "sina_cookie"):void {
      //trace("setCookie");
      _$so = SharedObject.getLocal(name);
      //_$so.data["old"] = "26";
      _$so.data[key] = val;
    }
    public function getCookie(key:String, name:String = "sina_cookie"):String {
      _$so = SharedObject.getLocal(name);
      //trace("key:" + key + "--data:" + _$so.data.key)
      if(_$so.size > 0 && _$so.data[key]) {
        return _$so.data[key];
      } else {
        return null;
      }
    }
    public function clearKey(key:String, name:String = "sina_cookie"):void {
      _$so = SharedObject.getLocal(name);
      _$so.data[key]= null;
    }
    public function clearCookie():void {
      _$so.clear();
    }
    public function flush():void {
      _$so.flush();
    }
  }//end class
}

實作類別(主類)

package com.sina.testCookie {
  import flash.display.Sprite;
  import flash.external.ExternalInterface;
  import com.tools.Cookie;
  //
  public class MainCookie extends Sprite{
    private var _$co:Cookie;
    //
    function MainCookie() {
      init();
    }
    private function init():void {
      _$co = new Cookie();
      //------test---------
      setCookie("name", "antz");
      //flush();
      //clearCookie();
      //clearKey("name")
      //trace(getCookie("old"))
      addCallBack();
    }
    private function addCallBack():void {
      ExternalInterface.addCallback("setCookie", setCookie);
      ExternalInterface.addCallback("getCookie", getCookie);
      ExternalInterface.addCallback("flush", flush);
      ExternalInterface.addCallback("clearCookie", clearCookie);
      ExternalInterface.addCallback("clearKey", clearKey);
    }
    private function setCookie(key:String, value:String) {
      _$co.setCookie(key, value);
      //return getCookie(key)
    }
    private function getCookie(key:String):String {
      var val = _$co.getCookie(key);
      return val;
    }
    private function flush():void {
      _$co.flush();
    }
    private function clearCookie():void {
      _$co.clearCookie();
    }
    private function clearKey(key:String):void {
      _$co.clearKey(key)
    }
  }//end class;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.