2010-01-13 80 views
0

我有一个简单的登录页面。当用户被验证时,窗口导航到新页面。 javascript是window.open('http://www.google.com',“mytest”,'toolbar = no');我的期望是,当它离开我们的登录页面并打开谷歌网站时,后退按钮将被禁用。但事实并非如此。有谁知道为什么?JavaScript问题工具栏=否

+2

哪里后退按钮导致你?实际上是否打开了一个新窗口?链接中是否存在回退href =''?做oyu得到任何Javascript错误? – 2010-01-13 17:17:15

+0

你是否想隐藏后退按钮 - 或 - 禁用它?它在新的弹出窗口中可见吗? – 2010-01-13 17:21:30

+0

它让我回到登录页面。没有javascript错误。 – Elliott 2010-01-13 17:21:41

回答

1

这取决于您的浏览器。最终,你所能做的就是使用javascript的window.open()告诉浏览器你想做什么,但没有义务去做。浏览器可以并且根据用户偏好忽略一些指令。

+1

作为Joel Coehoorn正在讨论的一个例子,浏览器通常不会再隐藏地址栏,作为安全实践(网络钓鱼防护)。 – Nicole 2010-01-13 17:23:30

+0

浏览器是IE8。 – Elliott 2010-01-13 17:28:05

0

我相信您所寻找的选项是'location = no',因为它隐藏了地址栏,因此也隐藏了后退按钮。工具栏是喜欢的东西等。

0

这是不好的做法 - 如果用户禁用JavaScript,会发生什么情况?如果浏览器阻止js删除主窗口的工具栏?

相反,修改登录页面以在显示登录表单之前检测用户是否已登录。如果登录,显示一条消息,而不是表单 - 这样,用户点击就不会成为问题。

我发现它很烦人,当一个网站与我的浏览器窗口四处乱窜,并且通常不回来。

+0

这不是一个公共网站。这是一个内部应用程序,禁用后退按钮将增强可用性。 – Elliott 2010-01-13 17:27:28

0

这是我的工作。而不是禁用后退键。我在听取卸载事件。然后我用javascript编写以下代码:

window.onbeforeunload = function(){return“在此应用程序中,您不应该按下后退按钮,如果继续,您的工作将不会保存,您需要重新登录。“}

Java脚本弹出一个对话框,其中包含”确定“和”取消“选项。如果用户点击取消。应用程序保持正确的位置。该脚本嵌入在标签内。对我而言,这是理想的解决方案。我发现这个在

http://www.hunlock.com/blogs/Mastering_The_Back_Button_With_Javascript