Javascript ページがロードされてから関数を実行

Ajax
Javascript

Javascript ページがロードされてから関数を実行

あるJavascriptの関数をページのロード時に実行するように、たとえば

 <body onload="doHogeHoge()">

というようにしていても、ページのロードに時間がかかると、ライブラリのロードがページのロードよりも遅くなってしまい、実行されなかったりします。

ページは読み込み終わっているけれど、jQueryのライブラリの読み込みが終わらない、などです。

私の場合は、あるJavascriptがFirefoxやChromeでは動作するのにIE9では動作しない、ということがあり、エラーが出てるわけではないのにどうしてかと思うと、これが原因でした。

そんな場合は、

 google.setOnLoadCallback

を利用すると、ページのロード(Google APIを含む)が終了してから関数を実行してくれます。
下記はサンプルです。

 <script type="text/javascript" src="https://www.google.com/jsapi">
 </script>
 <script type="text/javascript">
   google.setOnLoadCallback(doHogeHoge); 
 </script>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です