Asp.net 在没有新选项卡/窗口的情况下管理单个浏览器实例的策略?
对该特定网站的所有浏览都应在其登录的实例中进行。如果在新选项卡或新窗口中打开,则不应允许并排浏览。换句话说,如果我已经在浏览(并登录),并且决定打开一个新的选项卡/窗口来浏览同一个站点,那么我的服务器应该捕捉到这一点,并报告一条友好的消息Asp.net 在没有新选项卡/窗口的情况下管理单个浏览器实例的策略?,asp.net,browser,instance,Asp.net,Browser,Instance,对该特定网站的所有浏览都应在其登录的实例中进行。如果在新选项卡或新窗口中打开,则不应允许并排浏览。换句话说,如果我已经在浏览(并登录),并且决定打开一个新的选项卡/窗口来浏览同一个站点,那么我的服务器应该捕捉到这一点,并报告一条友好的消息 这可能吗?另外,我想知道这个要求的跨平台可行性。当IE7出现时,由于会话通过IE6的选项卡实例进行的方式发生了变化,我们在内部系统上对此进行了一次快速而肮脏的讨论 这是ASP,使用了会话和Javascript的组合,但可以很容易地移植到ASP.NET。为我们工
这可能吗?另外,我想知道这个要求的跨平台可行性。当IE7出现时,由于会话通过IE6的选项卡实例进行的方式发生了变化,我们在内部系统上对此进行了一次快速而肮脏的讨论 这是ASP,使用了会话和Javascript的组合,但可以很容易地移植到ASP.NET。为我们工作没有问题,直到我们用注册表黑客来改变IE标签行为 如果这是一个开放系统,它可能是没有好处的,除非你很高兴需要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>
window.name=“锁窗”;
如果(window.name!=“锁窗”){
document.write('抱歉,只允许一个选项卡');
}
如果我导航到同一站点中的其他页面,这将有何帮助…?会话变量(“窗口”)设置为“设置”,因此当在其他页面上执行此代码时,它将进入else并确认窗口。名称仍设置为“锁定窗口”,它将作为窗口。一旦为该窗口设置,名称不会更改,或者至少在我们运行的浏览器配置中,它工作正常。