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 和插件加载,您可能不得不使用window.setTimeout延迟函数的执行,直到脚本具有/具有 eval'd。

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

于 2010-04-24T20:42:16.693 回答