google.load自定义js

时间:2010-04-24 20:24:29

标签: javascript ajax google-ajax-api

我正在使用google ajax api 如何加载依赖于ajaxapi加载的库的自定义j?

1 个答案:

答案 0 :(得分: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>

更新:根据您的评论,您可以尝试使用jQuery.getScript,它为(外部)加载的JavaScript代码提供回调函数。根据{{​​3}},您可能必须使用window.setTimeout来延迟执行函数,直到脚本已经评估为止。

由于jQuery及其插件可能是异步加载的,因此您可能需要使用不引人注目的JavaScript,而不是直接在HTML代码中使用jQuery / plugin函数。