你是否遇到过这样的情况呢?你放到浏览器Cookie中的信息,不想被浏览器清空呢? 比如投票系统cookie+ip。
还好,Flash有个可以存储的空间,虽然这个空间也不是十分的可靠,但是一般没人去清空FlashCookie吧。而且很多人不知道它。
原理非常的简单,就是我们需要用JavaScript去调用ActionScript,来把存储的东西放到Flash的这块空间中。
使用方法
<script type="text/javascript" src="flashcookie.packed.js"></script>
然后你需要声明一个名字为onFlashCookieReady的JavaScript函数:
function onFlashCookieReady(cookie){
//在这个函数内进行读写cookie的操作
cookie.set('test', 'I am not from a "cookie" :) ')
alert(cookie.get('test'));
cookie.del('test');
alert(cookie.get('test'));
cookie.clear();
}
你可能要问,为什么需要写这样一个函数呢?
这是因为: 你的网页还没有完整的加载flash, 这时候你调用FlashCookie.get 就会出现 “对象不支持此属性或方法” 的错误。使用 onFlashCookieReady 可以保证在flash完全的加载后执行。
源码地址:
PS:豆瓣的跨浏览器监控,使电脑上始终只有一个浏览器的一个网页在播放,其他的页面全部是暂停状态难道也是用的FlashCookie