7

私のモバイルでは、safari でalert("Hello")body onload イベントがあるデフォルトのページに移動すると、デフォルトのページがバックグラウンドで完全に表示された状態でアラートが表示されます。次に、たとえば bbc.co.uk などの別のサイトに移動し、アドレス バーにデフォルト ページの Web アドレスを入力すると、BBC のコンテンツがバックグラウンドで表示され、ページの前にアラートが読み込まれるようにアラートが表示されます。ロードされました。

ページ全体が表示されたときにのみメッセージを表示するにはどうすればよいですか? アラートをトリガーする前にすべてが読み込まれるまで待機することを読みましたwindow.onloadが、動作が変わらないため、何か問題が発生しているに違いありません。私も試しました:

$(document).ready(function () {
    window.onload= alert('Test');
});

<meta http-equiv="Pragma" content="no-cache"/>

キャッシュと関係がある場合に備えて、これは問題ではないと思います。何か案は ?

ありがとう

4

4 に答える 4

10

window.onload実際の呼び出しではなく、関数への参照を渡します。

試す

window.onload = function(){
 alert('test');
}
于 2012-09-05T11:41:42.870 に答える
3

警告ボックスを表示したい場合は、window.onload を使用します。どちらも使用する意味はありません。正常に動作するコードを次に示します。

window.onload (古いブラウザーでも実装されています)。ページ全体が読み込まれると起動します。

 window.onload = function(){  alert('test'); } 

jQuery は document.readyを提供します。これはそれらを抽象化し、ページの DOM の準備が整うとすぐに起動します

$(document).ready(function () {     
 alert('Test');  
});

からの回答を確認してください: window.onload vs $(document).ready()

window.onload組み込みの Javascript イベントですが、その実装にはブラウザー (FF/IE6/IE8/Opera) 間で微妙な癖があったため、jQuery はそれらを抽象化し、ページの DOM の準備が整うとすぐに起動する document.ready を提供します (画像等はお待ちください。)

document.ready次のイベントをラップして一貫性を提供する jQuery 関数です。

  • document.ondomcontentready/ document.ondomcontentloaded- ドキュメントの DOM が読み込まれたときに発火する新しいイベント (画像などが読み込まれるまでに時間がかかる場合があります)。繰り返しますが、IE とその他の世界では少し異なります。
  • window.onload (古いブラウザーでも実装されています) は、ページ全体 (画像、スタイルなど) が読み込まれたときに起動します。
于 2012-09-05T11:40:49.247 に答える
2
$(window).load(function() {
      alert('Test');
});
于 2012-09-05T11:41:32.370 に答える
-2

<!DOCTYPE html>
<html>
<body onload="show_popup()">

<script>
function show_popup() {
    alert("Popup shows");
}
</script>

</body>
</html>

于 2017-09-28T17:51:47.143 に答える