• ベストアンサー

ページが完全に表示されてから何かをする?

ページが完全に読み込まれてから10秒後に指定したページへ飛ぶというサンプルをみかけました。 以下のようなものです。 <body onLoad=setTimeout('location.href="next.html"',10000)> setTimeoutは指定した時間ごとに処理を行うものというのは分かりましたが、しかし上記のコードでは、単に十秒後にnext.htmlへ飛ぶというだけで、「ページが完全に読み込まれてから」というのは実現できないように思うのですが、しかし実行してみると期待したとおりに動きます。 いったいどういうからくりなのでしょうか?

  • HTML
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • sakakky
  • ベストアンサー率64% (9/14)
回答No.1

「ページが完全に読み込まれてから」の機能はonLoadがしています。 onLoadというイベントが発生する条件が「○○が読み込み終わったら」という仕様だからです。

tochanx
質問者

お礼

なるほど!そうだったのですか! 納得です。 ありがとうございました!

関連するQ&A

  • JavaScriptでページ移動関係の質問です。

    JavaScriptでページ移動関係の質問です。 今、私がしたいと思っていることは、ある関数を実行して http://aaa/page=1?a=b,http://aaa/page=2?a=b,http://aaa/page=3?a=b,・・・ と指定ページ(最後のページ: page=X)まで 1.全ページにわたり、 2.ページ内にある要素があるか調べる関数を走らせ、 その結果をアラートなどでわかるようにすることです。 2は完成していて、1について実現できず困っています。 location.hrefを使ってsetTimeoutで時間を何秒かごとにしても、一回移動してしまえばスクリプトはもう動かなくなってしまいます。 例) location.href=getXXXURL(++currentPage);//移動 bool=findUser(searchID,currentPage);//探す alert(bool); この2を実現する方法についてコードの例を交えて、教えていただきたいです。 よろしくお願いいたします。

  • ページが数秒たってもジャンプしません。

    いま、私的ホームページを作っています。 最初のページのロードが終わったら7秒後に次のページにジャンプするようにジャバスクリプトを使ってかいたのですが、うまくいきません。 どこが間違っているのかわからないので、どなたかご指摘下さい。(そのまんまコピペします) まず、元ページの<head>タグの間に、 <script language="JavaScript" type="text/JavaScript"> <!-- function jump(){location.href="リンク先のURL";} //--> </script> を挿入しそして、<body>タグのなかに、 <body onLoad="settimeout('jump()',7000)"> と入れました。 何が間違っているのでしょうか? 助けてください!おねがいします。 リンク先のURLは間違い無いです。 ちなみにdreamweaverMXをつかって制作しています。

  • 別なページにジャンプさせたい

    ボタンをクリックすると指定のページに飛ぶようにしたいのですが、 <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form onSubmit="jump()"> <input type="submit"> </form> </body> </html> でも <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form> <input type="submit" onClick="jump()"> </form> </body> </html> でも動きません。(そのページを表示したままです) <body onload="jump()">にしたときは正常にジャンプできるので、クリックのイベントが拾えていないと思うのですが、どのように記述すればいいのでしょうか。 よろしくお願いいたします。

  • Javascriptで自動更新

    あるページを10秒に一度、自動で更新させたいのですがなにかよい方法はありませんか? このサイトで見かけたスクリプトを試してみても動作しませんでした;; <script language="JavaScript"> <!-- min=60; setTimeout('reload()', min*1000); function reload() { location.href=location.href; } //--> </script> Javascriptで実現する方法があれば教えてください。

  • java scriptでhttp://A....のサイトにボタンを押さ

    java scriptでhttp://A....のサイトにボタンを押さずに10秒後に飛びたいのですが、 ボタンを押さずに飛べるのでしょうか? <script language="JavaScript"><!-- function jump() { location.href = "http://A...."; } // --></script> </head> <body onLoad="setTimeout('jump()',10000)"> を使うと[別サイトにジャンプします はい いいえ]とテロップが出てきてしまい、はい を選択しなければジャンプできません。 10秒後に自動的にhttp://A....のサイトに飛ぶにはどうすればいいですか?ボタンを押した事にはできないでしょうか? 困っています。よろしくお願いいたします。

  • 単独で開かれたiframeを親ページに表示したい

    ブログ記事(blog1.html、blog2.html、blog3.html)を親ページ(index.html)のiframeとして表示しています。 親ページを開いた際には、デフォルトで最も新しいブログblog3.htmlが表示されるようになっています。 ブログ記事が単独で開かれた場合には、 if (window == window.parent) { location.href = "./index.html"; により自動的に親ページに導くようにしていますが、その際に開かれたブログ記事を表示したいと思います。 当たり前ですが、現在はblog3が開かれてしまいます。 どのようにしたらいいでしょうか。 以下、現在確認中のサンプルスクリプトです。 ■親ページ■ <html lang="ja"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <p>index.html</p> <iframe src="./blog3.html" frameborder="2" width="300" height="100"></iframe> <div id="result"></div> </body> </html> ■ブログ1■ <html lang="ja"> <head> <meta charset="UTF-8"> <title>blog1</title> </head> <body> <p>blog1.html</p> <script> // 単独で開かれている場合 if (window == window.parent) { location.href = "./index.html"; // iframeで開かれている場合 } else { } </script> </body> </html> ■ブログ3■ <html lang="ja"> <head> <meta charset="UTF-8"> <title>blog3</title> </head> <body> <p>blog3.html</p> <script> // 単独で開かれている場合 if (window == window.parent) { location.href = "./index.html"; // iframeで開かれている場合 } else { } </script> </body> </html>

  • ページを表示すると同時に複数のサブウィンドウを開く方法について

    ページを表示すると同時に複数のサブウィンドウを開く方法について、 プログラムを作成したらよいのか教えてください。 下記のプログラムは、ページを表示すると同時に1枚のサブウィンドウを開くプログラムですが、3枚ほどサブウィンドウを開きたいのです。 よろしくお願い致します。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- // サブウィンドウの表示方法を指定する function openWindow1() { window.open("sample.html","OpenWindow",scrollbars=no,location=no,menubar=no,toolbar=no, status=no,directories=no,resizable=no"); } //--> </SCRIPT> </HEAD> <BODY bgcolor="#ffffff" onLoad="openWindow1()"> </BODY> </HTML>

  • JavaScriptの表示についておねがいします。

    JavaScriptで、以下のスプリクトのページを表示する部分を10秒ごとにしたいのですがどなたか教えて頂けないでしょうか?出来れば、追記して回答お願いします。 <html> <body> </scr ipt> </head> <body onLoad="openWindow1()"> <a href="javascript:openWindow1();">web表示</a> <SCRIPT language="JavaScript"> <!-- // サブウィンドウの表示方法を指定する function openWindow1() { window.open("http://yahoo.co.jp/","1"); window.open("http://www.google.co.jp/","2"); window.open("http://ja.wikipedia.org/wiki/メインページ","3"); } //--> </SCRIPT> </body> </html>

  • リロード

    すいません。私JavaScriptはまったくの素人です。 あるページを5分ごとにリロードさせたくて、 <script language="JavaScript"> <!-- function reload_me() { document.location.reload(); setTimeout("reload_me()",300000); } //--> </script> <BODY onLoad="reload_me()"> と書いたところ、ロードしてくると同時に次のロードが始まってしまい、 300000という時間が全くきいてないような感じです。 (間髪を入れず無限にリロードが続いている状態) <body>のonLoadに書いてはいけないのでしょうか? それとも書き方がよくないのでしょうか? よろしくお願いします。

  • フレームページでページ内リンクを使用する。

    2分割のフレームページで、リンクをする際に、アンカーを使って、ページ内リンクをしたいのですが、どのように書いたら良いのでしょうか? 一応こんな風に書いたんですが。。 function setFrame(jpURL) { parent.samplepage.location.href = jpURL; } --------------------------------------------- <a href="#" onMouseover="setFrame('sample.htm','test')">壱</a><br> <a href="#" onMouseover="setFrame('sample.htm','test2')">弐</a><br> よろしくお願いします。