日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多个html网页共享变量,多个jsp页面共享一个js对象的超级方法

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多个html网页共享变量,多个jsp页面共享一个js对象的超级方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天,在項目中遇到一個問題,兩個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的一個事件中,就可以執行下面的操作:

var e = document.getElementsByName("chatWindow");var keyId = e[0].id;

delete window.top['_CACHE'][keyId];// 關閉與該好友的聊天窗口時,將其從聊天表中移除

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

總結

以上是生活随笔為你收集整理的多个html网页共享变量,多个jsp页面共享一个js对象的超级方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。