我試圖模仿在這個網站上發現的功能。但它似乎沒有工作。我試圖用jQuery 1.4.4來做到這一點,在我搜索了很多例子後,我可以在這裏找到我以及其他我想到的形式。防止頁面卸載失敗。想法?
$(window).bind('beforeunload', function()
{
if(show_unsaved_warning == true)
{
//e.preventDefault();
var exitBeforeSave = confirm('You have unsaved changes');
if(exitBeforeSave == false)
{
return false;
}
}
});
它工作的點顯示確認對話框,但無論你點擊確定或取消,頁面仍然加載/重新加載。我需要防止類似於堆棧的方式,所以如果在表單上進行了更改,我可以提示用戶保存更改以防萬一他們忘記了,或者讓他們離開。在這個等式中有什麼我缺少的東西,還是僅僅是不可能的?
請注意我意識到這是一個問題,在這裏被問了十幾遍,在其他地方的幾十個論壇上。如果我能根據我發現的東西拼湊一些東西,否則我不會問。我來到這裏與明顯的重複問題,因爲我目前卡住了。
編輯我改變了代碼一點點與確認對話框的工作,然而,問題仍然非常遺體,並在Firefox我其實引起確定/取消對話框,之後確定/取消是點擊,Firefox會創建另一個提示離開/保持自己的。我怎樣才能避免這種行爲?
'如果(show_unsaved_warning ==真)'是更好的寫作'如果(show_unsaved_warning)'。類似地,if(exitBeforeSave == false)'更好地寫爲'if(!exitBeforeSave)'。我知道這是一個小問題,比較布爾變量與真/假總是得到我的山羊。另外,將camelcase與下劃線混合在一起,以確保功能相同的變量是以無類型語言失去理智的最可靠方法。 (是exitBeforeSave還是exit_before_save ???直到運行時纔會知道)。 –