国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

多個jsp頁面共享一個js對象的超級方法

2024-09-05 00:22:08
字體:
來源:轉載
供稿:網友
兩個js頁面要共享一個就js對象,用window.top['_CACHE']來存放這個變量,即可實現,不同Jsp頁面直接的對象共享

今天,在項目中遇到一個問題,兩個js頁面要共享一個就js對象。js全局變量和靜態變量都不行,其他苦逼的小農們就不要去強求了。而LZ又不想用cookie來存放,一是不安全,二個人喜好。最后發現一種超級方法來解決這個困擾,那就是用window.top['_CACHE']來存放這個變量,即可實現,不同Jsp頁面直接的對象共享。

var share = {/** * 跨框架數據共享接口 * @param {String} 存儲的數據名 * @param {Any} 將要存儲的任意數據(無此項則返回被查詢的數據) */ data: function (name, value) { var top = window.top, cache = top['_CACHE'] || {}; top['_CACHE'] = cache;return value !== undefined ? cache[name] = value : cache[name]; },/** * 數據共享刪除接口 * @param {String} 刪除的數據名 */ removeData: function (name) { var cache = window.top['_CACHE']; if (cache && cache[name]) delete cache[name]; }};


下面貼上LZ的代碼:

LZ的一個jsp頁面為A.jsp,在A.jsp中點擊一個按鈕打開另一個B.jsp頁面。LZ的思路如下:

在A.jsp打開B.jsp的事件中,寫入如下代碼:

window.top['_CACHE'] = chatFrdList; window.top['_CACHE'][frdUserId] = frdUserId;

其中,chatFrdList定義為var chatFrdList = new Object();

frdUserId為一個用戶的id。

那么,在B.jsp的一個事件中,就可以執行下面的操作:

<pre>var e = document.getElementsByName("chatWindow");</pre><pre>var keyId = e[0].id; delete window.top['_CACHE'][keyId];// 關閉與該好友的聊天窗口時,將其從聊天表中移除</pre>


然后,LZ就可以在A.jsp的其他事件中操作window.top['_CACHE']了,這樣便能實現多個JSP頁面直接的js對象共享了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯门区| 宜春市| 阳新县| 长汀县| 奇台县| 菏泽市| 濮阳县| 滨海县| 无极县| 亚东县| 合肥市| 长白| 睢宁县| 外汇| 黑水县| 临潭县| 青铜峡市| 青冈县| 盈江县| 博乐市| 诸城市| 肃北| 楚雄市| 铜陵市| 舞阳县| 炉霍县| 新兴县| 永仁县| 德阳市| 临洮县| 贵定县| 论坛| 华池县| 开化县| 原平市| 高尔夫| 阳高县| 德庆县| 油尖旺区| 昭苏县| 岚皋县|