zoukankan      html  css  js  c++  java
  • Flash读写cookie

    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;
    }

  • 相关阅读:
    Arcmap软件报错:This application cannot run under a virtual machine arcmapr, 但是你并没有使用虚拟机
    Sql server 2008 作业失败通知邮件配置
    能drag和resize的DIV,目的是做一个类似于数据库视图设计器
    Type.GetType()与System.Web.Compilation.BuildManager.GetType()
    让你的实体字段和页面上的控件映射,自动绑定 ObjectBinding1.0
    利用Log Explor来恢复误用delete 、update了的数据
    破解版果冻手机动画主题for WM5 & WM6
    封装一个图片轮换的web控件
    利用Lucene.net对附件做搜索
    关于TransactionScope分布式事务在Oracle下的运作
  • 原文地址:https://www.cnblogs.com/slteam/p/1344963.html
Copyright © 2011-2022 走看看