如何确保我的javascript只在所有外部事件之后执行<;脚本src="&引用&燃气轮机;他们的东西都装进去了吗?

如何确保我的javascript只在所有外部事件之后执行<;脚本src="&引用&燃气轮机;他们的东西都装进去了吗?,javascript,jquery,Javascript,Jquery,我们的网站使用谷歌API执行谷歌搜索。我遇到的问题是以下代码失败 <script src="https://www.google.com/jsapi" type="text/javascript"></script> <script type="text/javascript"> google.load('search', '1'); </script> load('search','1'); 它失败,并显示以下错误消息:

我们的网站使用谷歌API执行谷歌搜索。我遇到的问题是以下代码失败

<script src="https://www.google.com/jsapi" type="text/javascript"></script> 
<script type="text/javascript">
        google.load('search', '1');
</script>

load('search','1');
它失败,并显示以下错误消息:

“谷歌”是未定义的

我猜这是因为在脚本执行之前Google API还没有完全加载

我应该使用JQuery的document.ready吗?我读到这将在DOM完成加载后开始执行脚本。我假设这不包括加载脚本、样式表和图像等外部资源。

无需复制

<script src="http://google.com/jsapi"></script>
<script>google.load("jquery", "1");</script>
<script>alert($);</script>

load(“jquery”,“1”);
警报(元);;
它确实可以工作,不需要API密钥


你能检查一下它提出的请求吗?(Firebug之类的)可能是你的连接有问题。。。您可以实现。至于加载程序,您必须检查请求失败的原因。

除非您指定
延迟
异步
属性,
始终按顺序加载和执行;第二个脚本将仅在第一个脚本加载并执行后执行。(请注意,这并不一定意味着您已经注意到这一点上的差异;例如,我可以立即执行脚本
window.onload=function(){alert(42);};
,但我只会在触发
onload
事件时看到其结果。)

如果您正在使用此代码:

<script src="https://www.google.com/jsapi"></script>
<script>
  google.load('search', '1');
</script>

load('search','1');

您会收到一条错误消息,说
google
未定义,这意味着第一个脚本加载失败。

非常有用的建议,谢谢Mathias。因此,代码应该可以正常工作,但加载脚本时出现问题。有意思…@willem是的,但由于谷歌的服务器几乎从不停机,你的连接可能有问题。