2

Google ajax apiを使用して います ajaxapi によってロードされたライブラリに依存するカスタム js をロードするにはどうすればよいですか?

4

1 に答える 1

2

次のように、スクリプト オブジェクトを DOM に挿入する関数を定義できます。

<script type="text/javascript">
function loadMyCustomJavaScript() {
    var script = document.createElement("script");
    script.src = "http://www.example.org/my.js";
    script.type = "text/javascript";
   document.getElementsByTagName("head")[0].appendChild(script);
}
</script>

そしてそれを次のように使用しますgoogle.setOnLoadCallback

<script src="http://www.google.com/jsapi?key=ABCDEFG" type="text/javascript"></script>
<script type="text/javascript">
    google.load("jquery", "1");
    google.setOnLoadCallback(loadMyCustomJavaScript);
</script>

または、ロードする特定の Google ライブラリでロードする場合は、そのメソッドのコールバックとして、つまり.

<script src="http://www.google.com/jsapi?key=ABCDEFG" type="text/javascript"></script>
<script type="text/javascript">
  google.load("maps", "2");
  google.load("search", "1", {"callback" : loadMyCustomJavaScript});
</script>

更新:コメントに基づいて、(外部から) ロードされた JavaScript コードのコールバック関数を提供するjQuery.getScriptの使用を試みることができます。HubLog: Google, jQuery and plugin loadingによるとwindow.setTimeout、スクリプトが評価されるまで関数の実行を遅らせるために使用する必要がある場合があります。

jQuery とそのプラグインはおそらく非同期で読み込まれるため、HTML コードで直接 jQuery/プラグイン関数を使用する代わりに控えめな JavaScript を使用する必要がある場合があります。

于 2010-04-24T20:42:16.693 に答える