window.top[_CACHE]여러 jsp 페이지 에서 js 대상 공유 실현
2043 단어 js 개체
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 name="code" class="javascript" style="margin-top:0px; margin-bottom:0px; padding:0px; font-family:'courier new',courier,monospace">var e = document.getElementsByName("chatWindow");</pre><pre name="code" class="javascript" style="margin-top:0px; margin-bottom:0px; padding:0px; font-family:'courier new',courier,monospace">var keyId = e[0].id;
delete window.top['_CACHE'][keyId];// , </pre>
그리고 LZ 는 A.jsp 의 다른 이벤트 에서 window.top['을 조작 할 수 있 습 니 다.CACHE']를 통 해 여러 JSP 페이지 의 직접적인 js 대상 공 유 를 실현 할 수 있 습 니 다.