-5

ページの読み込みに使用window.location.hrefしていて、機能に切り替えましたwindow.onload()が、ページの一部のコンテンツが読み込まれません。

window.location.href = $(this).val();私が使用しているコードです。

window.onload()関数を使用してどのように記述できますか?

4

4 に答える 4

6

window.onloadページの読み込みが完了したときに実行される関数を割り当てることができるプロパティです。デフォルトでは関数が割り当てられていないため、最初に関数を割り当てない限り呼び出すことはできません。ブラウザが別の URL に移動する原因とは関係ありません。

関数を直接割り当てることも、 addEventListeneronloadに取って代わられました。

location.href新しい値に設定する関数を割り当てることができます

// Don't do this
function redirect() {
    location.href = "http://example.com";
}
addEventListener('load', redirect);

…しかし、ページが読み込まれるとすぐにそれを行う場合は、代わりに HTTP リダイレクトを使用する必要があります。

于 2013-07-24T09:14:47.847 に答える
2

両者はまったく異なる概念です

このwindow.onloadイベントは DOM の標準イベントでwindow.location.hrefあり、現在のページの場所を返します。

于 2013-07-24T09:14:43.263 に答える
1

どちらもまったく異なる文脈で使用されます。

onload はイベントです

location.href はプロパティです

*window.onload*

このイベントは、ページ コンテンツが完全にロードされた瞬間に何らかのアクションを実行する場合に使用されます (これには、すべての要素、画像などが含まれます)。したがって、プロジェクトがコンテンツのロード後に何らかのアクションを要求する場合、機能に応じて任意の関数を割り当てることができます。 .

*window.location.href*

これはリダイレクトの目的で使用されます。ユーザーに別のページに移動させたい場合にのみ使用します。

コンテキスト では、window.onload イベントで window.location.href を実行するのは無意味です。ユーザーが onloading ページで時間を費やすことを許可していない場合は、含めているページを直接読み込むことをお勧めします。

window.location.href="this url shoulod be loaded directly instead";

短いルートの方が効率がいいのに、なぜ長いルートを選ぶのですか??

于 2013-07-24T09:31:49.807 に答える
0

window.location.href="url" は、他のページ (url) をロードするために JavaScript 関数内で呼び出すものです。通常の Web ページでハイパーリンクをクリックしたときとまったく同じことを行います。

window.onload() はイベント ハンドラです。HTMLページがロードされたときにJavaScriptでいくつかのことを行うために使用できます。つまり、ページ読み込みイベントが発生したときに呼び出されます。

これらは2つの異なるものです。

たとえば、window.location.href="url" を使用して別のページに移動し、その新しいページ内で window.onload() イベント ハンドラーを使用して、そのページが読み込まれたときに発生させたいことを実行できます。

例えば:

<script>

window.onload=function(){
  document.write("hi! this text was written when the page was being loaded");
}

</script>

ありがとう。

于 2013-07-24T09:20:48.757 に答える