人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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


●質問者: rapuntuleru
●カテゴリ:コンピュータ インターネット
✍キーワード:BODY JavaScript URL イベント クリック
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● n85
●35ポイント

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

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

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

◎質問者からの返答

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

なんでだろう…?

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


2 ● n85
●35ポイント

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


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

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

◎質問者からの返答

なるほど。。。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ