2016-08-31 6 views
0

を押したボタンをチェックしますか、ページの更新にwindow.onbeforeunloadを使用して:我々は、彼らが次のコードはうまく動作

$(document).ready(function() { 
     window.onbeforeunload = function() { 
     $('#myModal').modal('show'); 
     return 'Wait a moment'; 
     }; 
}); 

しかし、ユーザーは、デフォルトの対話の中で、「最新の情報に更新を選択した場合どのように私は検出しません"または"更新しないでください "?

彼らはリフレッシュするために選択した場合、私はそれが自動近いと壊れて表示されますと、私のモーダルを表示したくないん- 私は、彼らが/リフレッシュしないページに残ることを選択する場合、モーダルが起動します。

+0

彼らはリフレッシュするために選択した場合、ページがリロードされますので、あなたのスクリプトが実行を停止します。 – Barmar

+0

それは問題ではありません。 – ironchefbadass

答えて

0

以下のスニペットを確認してください。 setTimeout関数を使用すると、要件を満たすことができます。

var vals=0; 
 
function displayMsg() { 
 
    $('#myModal').modal('show'); 
 
} 
 
window.onbeforeunload = function evens(evt) { 
 
    var message = 'Wait a moment.'; 
 
    if (typeof evt == 'undefined') { 
 
    evt = window.event; 
 
    }  
 
    timedCount(); 
 
    vals++; 
 
    if (evt) { 
 
    evt.returnValue = message ; 
 
    return message ; 
 
    } 
 
    trace(evt); 
 
} 
 

 
function timedCount() 
 
{ 
 
    t=setTimeout("timedCount()",100); 
 
    if(vals>0) 
 
    { 
 
    displayMsg(); 
 
    clearTimeout(t); 
 
    } 
 
}

+0

これは動作しません...モーダルが表示されるようにページを2回更新しなければなりません。ありがとうございました。 – ironchefbadass

関連する問題