详细情况先看表格信息:
方式 浏览器 | Firefox3.6 | ie6 | Ie8 | Chrome7 |
evercookie_window | OK | OK | OK | ok |
evercookie_database_storage | 失败,不支持window.openDatabase | 同左 | 同左 | 失败 |
evercookie_png | 失败,先将值存进cookie,再通过evercookie_png.php?name=' + name 把值带过去,读取时则直接通过img.src=evercookie_png.php, 然后用canvas标签将图片drawImage(img,0,0); 然后通过对img进行解析获取 | 同左 | 不支持canvas | 同左 |
evercookie_etag | 失败,计算逻辑为先将数据保存到cookie,通过访问一个特定其他页面,将cookie带过去,获取的时候就通过ajax进行获取 | 同左 | 同左 | 同左 |
evercookie_cache | 失败,原因同 evercookie_etag | 同左 | 同左 | 同左 |
evercookie_lso(Flash) | OK | OK | OK | OK |
evercookie_silverlight | OK | OK | OK | OK |
evercookie_userdata | Div无save、load方法 | OK | OK | 失败 |
evercookie_cookie | OK | OK | OK | OK |
evercookie_local_storage | OK | 失败 | OK | OK |
evercookie_global_storage | 失败,window.globalStorage[host].setItem(name ,value);eval("globalStorage["+host+"]." + name)均无法执行,抛出"Security error" code: "1000"错误 | 失败 | 失败 | 失败 |
evercookie_session_storage | OK | 不支持 | OK | OK |
evercookie_history | 失败,访问,通过创建iframe来重复发送页面,获取历史访问记录,会连续访问页面,不友好,去掉 | 同左 | 同左 | 同左 |
个人觉得大部分功能都比较花俏。如evercookie_png,evercookie_etag,evercookie_history,实际上这些操作均会对用户体验有一定影响。不过也体现了evercookie的宗旨:为了记录用户信息,无所不用其极。
但针对于国内用户大部分为ie用户,而且很多网站是ie only,完全可把evercookie_userdata纳入考虑范围。
同时一般情况下,装有silverlight插件的浏览器,几乎必然也装着flash插件。所以首选flash方案。
cookie?这个不用说,必须的。