Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26187605
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2010-02-21 15:27:50

双重cookie=浏览器cookie+flash cookie
双重的意义在于克服浏览器cookie的弱势:容易清空,各种浏览器不共享;所以,flash cookie与浏览器cookie 配合 实现cookie备份。
 
难点在于,要会as,以及as与js的通信或调用问题。
  参考资料:
        1、http://hi.baidu.com/aullik5/blog/item/0e2512de4d787915632798c2.html
        2、http://hi.baidu.com/aullik5/blog/item/08d382cae5551af452664fc6.html
        3、
        4、http://hi.baidu.com/feige05/blog/item/a612448828369091a4c27202.html
参照以上资料1 修改的小例子(不能上传文件,且我的ff运行不了啊,不解,firebug说找不到flash的函数):
大致的意思是:有一个输入框 用于输入cookie值和读取显示的值,外加两个命令按钮,分别执行写和读
  js(answer.js):
     var setWatermark = function(flashID, o){
          document.getElementById(flashID).setcookie(o);  
     }
     var getWatermark = function(flashID){               
          return document.getElementById(flashID).getcookie();        
     }
function savecookie(){
    var val;
    val=document.getElementById("cookieval").value;
    setWatermark("test",val);
}
function readcookie(){
    var val;
    val=getWatermark("test");
    document.getElementById("cookieval").value=val;
     }
html(js.html):
   
    

test
















 




as(test.swf):
  import flash.external.ExternalInterface;
so = SharedObject.getLocal("WatermarkTest", "/");
System.security.allowDomain(_root.domainAllowed);

function getWatermark(){
    ret = "";
    ret = so.data.watermark;
    return ret;
}

function setWatermark(obj) {
    if (!( obj == null)){
        so.data.watermark = obj;
        }
    return so.flush()   
}
ExternalInterface.addCallback("setcookie",this,setWatermark);
ExternalInterface.addCallback("getcookie",this,getWatermark);
简单使用,不好的地方请高手赐教!

初步了解了一下双重COOKIE的概念。这种应用可以放到广告监测系统使用。
阅读(1397) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~