所以,我已经看到了一个网站这种做法(我不记得了,虽然)和它的工作原理是这样的:关闭当前窗口或标签时,弹出打开
首先,有一个简单的页面用一个简单的登录表单。但是,当您单击表单的登录按钮时,如果用户和密码的验证是肯定的,并且服务器的响应也是肯定的,则会出现一个新的弹出窗口(其中包含使用javascript编写的应用程序 - ExtJS)和浏览器的当前选项卡(这是登录表单页面)关闭。
在我看来,这是一个很好的方法,因为ExtJS
是一个单页面应用程序模式,功能强大,足以运行完整的AJAX
,没有可见的重定向。此外,弹出式场景消除了浏览器页面控制按钮(后退,前进,刷新),地址栏是只读的。
现在,我试图通过使用ASP.NET作为服务器端脚本语言的帮助,将ExtJS作为主要应用程序进行重现。因此,其结果将是如下:
- 登录页面,登录表单 - HTML5 + CSS3
- 应用页面(弹出窗口) - 纯粹的ExtJS
- Web服务 - ServiceStack
Web服务公开用于登录目的的方法以及其他方法,并且它始终返回JSON
响应。在打开弹出窗口并关闭窗口之前,必须设置会话变量(如果登录成功)。
在这里,问题来了:
如何可以完成打开一个弹出和关闭当前窗口/标签如果登录成功,这种情况发生?任何帮助,提示,参考,建议,批评完全是我所期待的。
谢谢!
谢谢你的回复!问题是窗口不能在弹出窗口中打开,因此浏览器控制按钮仍然存在。在Firefox 14.0.1中,它会打开一个新标签,并且不会关闭当前标签。在“Internet Explorer 9”中,它要求关闭确认,而在“Opera 11.64”中,就像在Chrome和Safari中一样。 – 2012-08-14 09:33:23
编辑:它在Opera 12.01中也不能正常工作。它的行为就像“Firefox 14.0.1'' – 2012-08-14 11:56:32
你不想拥有浏览器控制按钮? – fengd 2012-08-14 15:37:37