我正在使用google ajax api 如何加载依赖于ajaxapi加载的库的自定义j?
答案 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函数。