2010-01-13 114 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