이미 열려있는 항목을 결정해야하는 시작 페이지가있는 응용 프로그램이 있으므로 다른 새 탭에서 이미 열려있는 항목이 다시 열리지 않습니다. Firefox에서는 window.sessionStorage를 사용하여 열려있는 페이지의 제목을 저장 한 다음 window.opener와 다음 코드를 사용하여 목록에서 제목을 제거함으로써이 작업을 수행 할 수있었습니다. Javascript에서 window.sessionStorage를 대체 하시겠습니까?
if (window.sessionStorage) {
if (window.sessionStorage.getItem(code)) {
return; // page already open
}
else {
window.sessionStorage.setItem(code, code);
window.open("Sheet.aspx", "_blank");
}
}
그리고 열려있는 페이지에
Gecko Session Storage Info Page
: 이것은 IE에서 작동하지 않습니다function signalPageExit() {
if (window.opener.sessionStorage) {
window.opener.sessionStorage.removeItem(
document.getElementById("runcode").childNodes[0].textContent);
}
그래서 쿠키 전략을 사용하기로 결정하지만, 쿠키가 성공적으로 삭제되지 않았다 따라서 동적으로 시작된 페이지의 코드에서 쿠키가 만료되어 쿠키가 만료 될 때까지 시작 페이지에서 페이지를 다시 열 수 없습니다.
나의 두 번째 시도는 그것이 존재하지 않을 때 내 자신의 sessionStorage를 정의하는 것이 었습니다. 즉,이 모습 :
function setStoreItem(name, val) {
this.storage[name] = val;
}
function getStoreItem(name) {
return(this.storage[name]);
}
function removeStoreItem(name) {
this.storage[name] = null;
}
function sesStorage() {
this.storage = new storageData();
this.setItem = setStoreItem;
this.getItem = getStoreItem;
this.removeItem = removeStoreItem;
}
// storage object type declaration
function storageData() {
}
// IE 7 and others
else {
window.sessionStorage = new sesStorage();
window.sessionStorage.setItem(code, code);
window.open("Sheet.aspx", "_blank");
}
을하지만, 내 시작 페이지가 다시 게시 할 때 실제 세션 저장, 윈도우의 일반 객체 따라서 포스트 백에서 살아있어하지 않았다 특별했다 생성 된 페이지 제목의 목록을 보인다 쓸어 버렸다.
그래서 지금이 방법을 찾고 있습니다. 사용자 요청을 기반으로 동적 페이지를 만드는 scoresheets.aspx라는 시작 페이지가 있습니다. 이 페이지는이 작업을 수행하기 위해 수정할 수있는 상당한 양의 자바 스크립트 코드를 공유합니다.
사용자가 다시 열려고 시도했을 때 실행 된 페이지를 새로 고치려는 것이 아니라 열린 페이지의 제목을 감지하거나 window.opener를 사용하여 동일한 지속성과 통신하는 방법이있는 경우 그 sessionStorage는, 나는 그것을 사용하게되어 기쁠거야.
전 jStore를 설정했지만 Jstore Javascript에서 내부적으로 오류가 발생합니다. 나는 구글 코드에 문제를 제기했다. 그래서 거기에 무슨 일이 일어나고 있는지 알 수 있기를 바란다. –
플래시 엔진을 직접 사용해 보지 않았습니다. 방금 ie 엔진 (#userdata)을 확인했고 ie8을 통해 ie6에서 작동합니다. –