JavaScriptで、onClickをはさまないとメソッドが動かない(?)


onClick=""の中に書いて、クリックイベントを起こすと正常に動くメソッドが、<script>メソッド名</script>の中や、window.onload=""や、body onload=""等のようにページが読み込まれた時に、勝手に実行されるように書こうとすると正常に動きません。
長いコードなので載せられませんが、調べてみると、document.load(外部URL);の時に処理がストップ(?)しているようです。(クリックイベントで起動させたときは、もちろん動きます)

解決策に検討がつきましたら、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/10/18 05:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:n85 No.1

回答回数237ベストアンサー獲得回数21

ポイント35pt

ページの読み込み完了の直後で上手くいかないのであれば、

以下のようにして数秒遅らせてみてはどうでしょうか?

<SCRIPT LANGUAGE="JavaScript"></p> <p><!--</p> <p>setTimeout("hoge()", 1000 * 2 );</p> <p>//--></p> <p></SCRIPT>

id:rapuntuleru

2秒おいたら、うまくいきました!w

なんでだろう…?

どなたか技術的な解説をしていただけたら、「回答」していただけると。。。(こういう質問の変化はだめなんだっけ?…)

2009/10/11 17:40:49
id:n85 No.2

回答回数237ベストアンサー獲得回数21

ポイント35pt

> 調べてみると、document.load(外部URL);の時に処理がストップ(?)しているようです


外部URLのページで何かのオブジェクトを生成したりしていて、

そのために若干時間がかかるので、body onload だと早すぎるんじゃないでしょうか。

id:rapuntuleru

なるほど。。。

2009/10/11 18:40:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません