2009-11-05 4 views
0

이 웹 사이트에 대한 모든 탐색은 로그인 한 인스턴스 내에서 이루어져야합니다. 새 탭이나 새 창에서 열면 나란히 탐색 할 수 없습니다. 즉, 이미 브라우징 (및 로그인)되어 있고 새 탭/창을 열어 동일한 사이트를 탐색하려고하면 내 서버가이를 트 랩하고 친숙한 메시지를보고해야합니다.새 탭/창없이 단일 브라우저 인스턴스를 관리하기위한 전략은 무엇입니까?

이것이 가능합니까? 또한이 요구 사항의 교차 플랫폼 타당성에 대해 알고 싶습니다.

답변

0

IE6에서 탭 인스턴스를 가로 질러 이동 한 세션의 변경으로 인해 IE7이 나왔을 때 내부 시스템에서이를 신속하고 더러워했습니다.

이것은 ASP이며 Session과 Javascript의 조합을 사용했지만 쉽게 ASP.NET에 이식 할 수 있습니다. IE TAB 동작을 변경하기 위해 레지스트리 해킹으로 바꾸기 전까지 문제없이 작동했습니다.

개방형 시스템을위한 것이라면 JavaScript가 필요하지만 기꺼이 도움이 될만한 것이 아니라면 아마 좋지 않을 것입니다.

<script language="JavaScript"> 
<%if session("window") = "" Then%> 
window.name = "LOCKwindow"; 
<%session("window") = "set"%> 
<%else%> 
if (window.name != 'LOCKwindow') { 
    document.write('<h1>Sorry just one tab allowed</h1>'); 
    } 
<%end if%> 
</script> 
+0

동일한 사이트 내의 다른 페이지로 이동하면 어떻게 도움이 되나요? – deostroll

+0

세션 var ("window")가 "set"으로 설정되어 있으므로이 코드가 다른 페이지에서 실행될 때 else를 입력하고 window.name이 여전히 window.name 인 'LOCKwindow'로 설정되어 있는지 확인합니다 그 창에 대해 일단 설정되면 변경되지 않으며 적어도 브라우저가 제대로 동작 할 때 실행됩니다. – Chris

관련 문제