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>