<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    emu in blogjava

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      171 隨筆 :: 103 文章 :: 1052 評(píng)論 :: 2 Trackbacks
    一個(gè)簡(jiǎn)單的UserData管理器,可以save、load和delete數(shù)據(jù)。
    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>?UserData?manager?</TITLE>
    <META?NAME="Generator"?CONTENT="EditPlus">
    <META?NAME="Author"?CONTENT="emu">
    <META?NAME="Keywords"?CONTENT="IE?USER?DATA?manager">
    <META?NAME="Description"?CONTENT="UserData?manager">
    </HEAD>

    <BODY>
    <SCRIPT?LANGUAGE="JavaScript">
    <!--
    document.documentElement.addBehavior(
    "#default#userdata");

    function??saveUserData(key,?value){
    ??
    var?ex;?
    ????
    with(document.documentElement)try?{
    ????load(key);
    ????setAttribute(
    "value",?value);
    ????save(key);
    ????
    return??getAttribute("value");
    ??}
    ??
    catch?(ex){alert(ex.message)}
    }

    function?loadUserData(key){
    ??
    var?ex;?
    ????
    with(document.documentElement)try{
    ????load(key);
    ????
    return?getAttribute("value");
    ??}
    ??
    catch?(ex){alert(ex.message);return?null;}
    }

    function??deleteUserData(key){
    ??
    var?ex;?
    ????
    with(document.documentElement)try{
    ??????load(key);
    ????expires?
    =?new?Date(315532799000).toUTCString();
    ????save(key);
    ??}
    ??
    catch?(ex){alert(ex.message);}
    }?

    saveUserData(
    "emu","hello?world?!")
    alert(loadUserData(
    "emu"))
    deleteUserData(
    "emu")
    alert(loadUserData(
    "emu"))

    //-->
    </SCRIPT>
    </BODY>
    </HTML>


    注意這一行: expires = new Date(315532799000).toUTCString();

    315532799000 是格林威治時(shí)間1979年12月31日23時(shí)59分59秒。這是刪除UserData的最靠前的一個(gè)有效expires時(shí)間了,再往前一毫秒,expires = new Date(315532798999).toUTCString(); 就刪不掉userdata了,可以認(rèn)為是IE的一個(gè)bug。所以我們刪除userdata的時(shí)候不能像刪除cookie一樣,用new Date(0)來(lái)制造過(guò)期時(shí)間了。

    一個(gè)等效的寫(xiě)法是 expires = new Date(1980,0,1,7,59,59).toUTCString();? 用toGMTString也一樣。

    如果需要按照user來(lái)管理userdata,可以這樣:

    ?

    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>?UserData?manager?</TITLE>
    <META?NAME="Generator"?CONTENT="EditPlus">
    <META?NAME="Author"?CONTENT="emu">
    <META?NAME="Keywords"?CONTENT="IE?USER?DATA?manager">
    <META?NAME="Description"?CONTENT="UserData?manager">
    </HEAD>

    <BODY>
    <SCRIPT?LANGUAGE="JavaScript">
    <!--
    document.documentElement.addBehavior(
    "#default#userdata");

    function??saveUserData(user,key,value){
    ??
    var?ex;?
    ????
    with(document.documentElement)try?{
    ????load(user);
    ????setAttribute(key,?value);
    ????save(user);
    ????
    return??getAttribute("value");
    ??}
    ??
    catch?(ex){alert(ex.message)}
    }

    function?loadUserData(user,key){
    ??
    var?ex;?
    ????
    with(document.documentElement)try{
    ????load(user);
    ????
    return?getAttribute(key);
    ??}
    ??
    catch?(ex){alert(ex.message);return?null;}
    }

    function??deleteUserData(user){
    ??
    var?ex;?
    ????
    with(document.documentElement)try{
    ??????load(user);
    ????expires?
    =?new?Date(315532799000).toGMTString();
    ????save(user);
    ??}
    ??
    catch?(ex){alert(ex.message);}
    }?

    saveUserData(
    "emu","Name","emu?!")
    alert(loadUserData(
    "emu","Name"))
    saveUserData(
    "emu","blog","http://www.tkk7.com/emu")
    alert(loadUserData(
    "emu","blog"))

    //-->
    </SCRIPT>
    </BODY>
    </HTML>


    兼容上面兩種的寫(xiě)法是這樣:

    <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>?UserData?manager?</TITLE>
    <META?NAME="Generator"?CONTENT="EditPlus">
    <META?NAME="Author"?CONTENT="emu">
    <META?NAME="Keywords"?CONTENT="IE?USER?DATA?manager">
    <META?NAME="Description"?CONTENT="UserData?manager">
    </HEAD>

    <BODY>
    <SCRIPT?LANGUAGE="JavaScript">
    <!--
    document.documentElement.addBehavior(
    "#default#userdata");

    function??saveUserData(user,key,value){
    ??
    var?ex;?
    ????
    if(!value){
    ????????value?
    =?key;key=user;user="defaultUser"
    ????}
    ????
    with(document.documentElement)try?{
    ????load(user);
    ????expires?
    =?new?Date(new?Date()-(-86400000)).toGMTString();
    ????setAttribute(key,?value);
    ????save(user);
    ????
    return??getAttribute("value");
    ??}
    ??
    catch?(ex){alert(ex)}
    }

    function?loadUserData(user,key){
    ????
    if(!key){
    ????????key
    =user;user="defaultUser";
    ????}
    ??
    var?ex;?
    ????
    with(document.documentElement)try{
    ????load(user);
    ????
    return?getAttribute(key);
    ??}
    ??
    catch?(ex){alert(ex.message);return?null;}
    }

    function??deleteUserData(user){
    ??
    var?ex;?
    ????
    if(!user)user="defaultUser";
    ????
    with(document.documentElement)try{
    ??????load(user);
    ????expires?
    =?new?Date(new?Date()-86400000).toGMTString();
    ????save(user);
    ??}
    ??
    catch?(ex){alert(ex.message);}
    }?

    saveUserData(
    "emu","Name","emu?!")
    alert(loadUserData(
    "emu","Name"))
    deleteUserData(
    "emu")
    alert(loadUserData(
    "emu","Name"))
    saveUserData(
    "emu","blog","http://www.tkk7.com/emu")
    alert(loadUserData(
    "emu","blog"))
    deleteUserData(
    "emu")
    alert(loadUserData(
    "emu","blog"))

    saveUserData(
    "emu_articles","http://www.tkk7.com/emu/category/1383.html")
    alert(loadUserData(
    "emu_articles"))
    deleteUserData()
    alert(loadUserData(
    "emu_articles"))
    //-->
    </SCRIPT>
    </BODY>
    </HTML>
    posted on 2006-04-05 22:09 emu 閱讀(3855) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): DHTML和JAVASCRIPT 技術(shù)

    評(píng)論

    # re: UserData 管理器和IE一個(gè)相關(guān)的bug 2009-12-03 10:31 方向
    最后兼容的寫(xiě)法, return getAttribute("value");這句是不是有問(wèn)題的啊?
    應(yīng)該是return getAttribute(key);  回復(fù)  更多評(píng)論
      

    # re: UserData 管理器和IE一個(gè)相關(guān)的bug 2013-07-14 20:13 張一凡
    鵝鵝鵝熱熱  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲色成人网站WWW永久四虎| 免费大黄网站在线看| 久久精品私人影院免费看| 一个人看的www视频免费在线观看| 亚洲av无码有乱码在线观看| 亚洲av中文无码乱人伦在线观看 | 久久久久久久91精品免费观看| 18禁止看的免费污网站| 中文字幕免费视频一| 久久精品免费一区二区| 成人免费毛片内射美女-百度| 100000免费啪啪18免进| 无码一区二区三区免费视频| 亚洲va久久久噜噜噜久久天堂| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲伊人久久精品影院| 久久夜色精品国产亚洲| 久久久久亚洲精品无码系列| 亚洲视频在线一区二区三区| 亚洲国产精品无码久久久| 亚洲 日韩经典 中文字幕| 亚洲风情亚Aⅴ在线发布| 国产亚洲成在线播放va| 国产精品无码永久免费888| 日韩a级无码免费视频| 99精品视频在线观看免费播放| 久久WWW免费人成一看片| 成人毛片免费在线观看| 四虎精品亚洲一区二区三区| 国产亚洲一区区二区在线| 亚洲国产成人久久综合一| 亚洲卡一卡2卡三卡4麻豆| 亚洲av日韩av永久在线观看| 一级毛片视频免费| 国产成人久久AV免费| 久久久久久99av无码免费网站 | 最近免费字幕中文大全视频 | h视频免费高清在线观看| 性色午夜视频免费男人的天堂| 成人免费观看一区二区| 国产男女猛烈无遮挡免费视频网站|