問題:機能にJavascriptを包み、ページがロードされた後に呼ばれる:Javascriptがページが読み込まれる前にプロンプトが表示されないようにする「ロード」または「DOMContentLoaded」はなぜですか?
ソリューションをロードし、私のページの前に解雇しました。
残念ながら、動作しませんでした。ここに私の例があります。
私は単純な2ページのテストサイトを持っています。最初のページには青い背景と2番目のページへのリンクがあります。最初のページのリンクをクリックすると、2ページ目のスクリプトのプロンプトが2ページ目が読み込まれる前の最初のページに表示されます。 load
またはDOMContentLoaded
はこれを変更していないようです。私は何か間違っていると確信していますが、私はそれを見つけられません。
ページ1
<body style="background-color:blue">
<a href="page_2.htm">Click this link.</a>
</body>
ページ2
<script>
function globalFunction() {
prompt("input a number");
}
</script>
私は2ページ目の機能の上にこのコードを追加しますが、プロンプトは前に早期に最初のページの上にポップアップ表示し続け2ページ目が読み込まれました。
document.addEventListener("DOMContentLoaded", globalFunction);
私はこれを試しましたが、同じ結果が得られました。
window.addEventListener("load", globalFunction);
これは役に立ちますが、なぜ必要なのか分かりません。もちろん、この「第2ページ」とその内容についてはあまり知られていません。しかし、関数が "ready"イベントを待っている場合、新しいコンテンツのレンダリングに備えて、* no *コンテンツがそこにあるか、またはウィンドウがクリアされていないのが不思議です。新しいページからのプロンプトを表示するには、リンク先ページの* over *コンテンツが私にとってかなり奇妙なように見えますが、セキュリティ上の懸念事項として認識される人もいます。 – Pointy
これが役に立ちます。 JavaScriptをDOM要素にすると、Drawingオブジェクトから開始しますが、プロンプトで中断されます。 – siranen