亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        多個(gè)jsp頁面共享一個(gè)js對(duì)象的超級(jí)方法

        字號(hào):


            今天,在項(xiàng)目中遇到一個(gè)問題,兩個(gè)js頁面要共享一個(gè)就js對(duì)象。js全局變量和靜態(tài)變量都不行,其他苦逼的小農(nóng)們就不要去強(qiáng)求了。而LZ又不想用cookie來存放,一是不安全,二個(gè)人喜好。最后發(fā)現(xiàn)一種超級(jí)方法來解決這個(gè)困擾,那就是用window.top['_CACHE']來存放這個(gè)變量,即可實(shí)現(xiàn),不同Jsp頁面直接的對(duì)象共享。
            var share = {
            /**
            * 跨框架數(shù)據(jù)共享接口
            * @param {String} 存儲(chǔ)的數(shù)據(jù)名
            * @param {Any} 將要存儲(chǔ)的任意數(shù)據(jù)(無此項(xiàng)則返回被查詢的數(shù)據(jù))
            */
            data: function (name, value) {
            var top = window.top,
            cache = top['_CACHE'] || {};
            top['_CACHE'] = cache;
            return value !== undefined ? cache[name] = value : cache[name];
            },
            /**
            * 數(shù)據(jù)共享刪除接口
            * @param {String} 刪除的數(shù)據(jù)名
            */
            removeData: function (name) {
            var cache = window.top['_CACHE'];
            if (cache && cache[name]) delete cache[name];
            }
            };
            下面貼上LZ的代碼:
            LZ的一個(gè)jsp頁面為A.jsp,在A.jsp中點(diǎn)擊一個(gè)按鈕打開另一個(gè)B.jsp頁面。LZ的思路如下:
            在A.jsp打開B.jsp的事件中,寫入如下代碼:
            window.top['_CACHE'] = chatFrdList;
            window.top['_CACHE'][frdUserId] = frdUserId;
            其中,chatFrdList定義為var chatFrdList = new Object();
            frdUserId為一個(gè)用戶的id。
            那么,在B.jsp的一個(gè)事件中,就可以執(zhí)行下面的操作:
            <pre name="code">var e = document.getElementsByName("chatWindow");
            </pre><pre name="code">var keyId = e[0].id;
            delete window.top['_CACHE'][keyId];// 關(guān)閉與該好友的聊天窗口時(shí),將其從聊天表中移除</pre>
            然后,LZ就可以在A.jsp的其他事件中操作window.top['_CACHE']了,這樣便能實(shí)現(xiàn)多個(gè)JSP頁面直接的js對(duì)象共享了。