问题:一个网页的cookie本来也只有有限的4k空间,一旦不小心写入的cookie超过了限制,就会造成原来有用的cookie丢失。 解决: 我们在IE下面经常使用userdata来保存共享数据 firefox下用window.sessionStorage <SCRIPT LANGUAGE="JavaScript"> <!-- var isIE = !!document.all; if(isIE) document.documentElement.addBehavior("#default#userdata"); function saveUserData(key, value){ var ex; if(isIE){ with(document.documentElement)try { load(key); setAttribute("value", value); save(key); return getAttribute("value"); }catch (ex){ alert(ex.message) } }else if(window.sessionStorage){//for firefox 2.0+ try{ sessionStorage.setItem(key,value) }catch (ex){ alert(ex); } }else{ alert("当前浏览器不支持userdata或者sessionStorage特性") } } function loadUserData(key){ var ex; if(isIE){ with(document.documentElement)try{ load(key); return getAttribute("value"); }catch (ex){ alert(ex.message);return null; } }else if(window.sessionStorage){//for firefox 2.0+ try{ return sessionStorage.getItem(key) }catch (ex){ alert(ex) } }else{ alert("当前浏览器不支持userdata或者sessionStorage特性") } } function deleteUserData(key){ var ex; if(isIE){ with(document.documentElement)try{ load(key); expires = new Date(315532799000).toUTCString(); save(key); } catch (ex){ alert(ex.message); } }else if(window.sessionStorage){//for firefox 2.0+ try{ sessionStorage.removeItem(key) }catch (ex){ alert(ex) } }else{ alert("当前浏览器不支持userdata或者sessionStorage特性") } } saveUserData("emu","hello world !") alert(loadUserData("emu")) deleteUserData("emu") alert(loadUserData("emu")) //--> </SCRIPT>