2017-07-04 10 views
0

何らかの理由で、メソッド表示がlocation.reload()の前に処理されています。ここに私の構文は次のとおりです。ボタンは表示メソッドを呼び出し、次にクリックしたときに、ここでなぜリフレッシュHTMLページが遅い

$(document).ready(function() { 
 
    $("#refresh").click(function() { 
 
    alert("before refresh") 
 
    location.reload(); 
 
    display() 
 
    }) 
 
}) 
 

 
function display() { 
 
    alert("hello world") 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="refresh"> 
 
    refersh and continue 
 
</button>

私の目標は、ページを更新することです。 問題は、ページをリフレッシュする前に表示メソッドが呼び出されていることです。 まず、私が達成しようとしているものは達成可能です。そうでない場合は、問題を解決するために他にどのような方法がありますか?

+0

リフレッシュ方法をドキュメント内に準備し、 '#refresh'要素をクリックしたときに設定する必要がある条件の中に置く必要があります。おそらく 'localStorage()'を使用することができます。 – Ionut

+3

'まず、私が達成しようとしているのは達成可能です。'はい、あなたが試みている方法ではありません。ページの読み込みに 'alert()'を表示する必要があります。アンロードイベントが呼び出された後は、ページがなくなると(reload()を呼び出すときのように)ページ内に何もできません。 –

+2

@RoryMcCrossanそれは正しいようですが、実際には 'location.reload()'の後ろにあっても 'display()'関数を呼び出しています。何故ですか? – Barmar

答えて

0

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 

 
<script> 
 
$(document).ready(function(){ 
 
display(); 
 
    $("#refresh").click(function(){ 
 
    alert("before refresh") 
 
    //location.reload(); 
 
    display(); 
 
    }); 
 
}) 
 

 
function display(){ 
 
    alert("hello world") 
 
} 
 

 
    </script> 
 
<button id="refresh"> 
 
refersh and continue 
 
</button> 
 

 

 
</body> 
 
</html>

リフレッシュ中)(、)(必要に応じて追加のディスプレイをドキュメントの読み込みに表示方法を呼び出し、リロードを削除し、これを試してみてください。

0

displayメソッドをdocument.onloadイベントに割り当てることができます。

alert('before refresh'); 
$(document).on('load', display); 
location.reload; 
関連する問題