如何避免加载Google jsapi阻塞网页加载
How to avoid the loading of Google jsapi blocks the web page loading
我们有一个使用Google jsapi和jquery的GWT web应用程序。
在index.html中,我们已经加载了Google jsapi,如下所示:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
然而,这似乎会挂网页的加载,直到它的超时,当客户端无法访问谷歌。在一些国家,例如中国。
我已经改变了上面的脚本元素如下,不太确定这是正确的或不:
<script type="text/javascript">
$.ajax({
url: 'https://www.google.com/jsapi',
dataType: 'script',
cache: true
});
</script>
并尝试阻止自己的客户端,使其无法访问www.google.com,然而,当加载页面时,它仍然挂起加载jsapi。我检查了浏览器控制台的网络日志,有两个启动器如下
ajax @ jquery.min.js:127
(anonymous function) @ (index):18
显然,index:18在script元素上面。但是我不明白关于jquery.min.js:127,我从本地包含在index.html中,如下所示
<script type="text/javascript" src="/js/jquery.min.js"></script>
这个jQuery .min.js是jQuery v1.4.2作为这个链接,但它看起来没有谷歌jsapi加载在127行?
看一下GWT AjaxLoader。这样你就不需要添加
了<script type="text/javascript" src="https://www.google.com/jsapi"></script>
到你的HTML。您可以在GWT Java代码中执行jsapi加载。例如,这将加载搜索模块:
AjaxLoaderOptions options = AjaxLoaderOptions.newInstance();
//add options if you want to
AjaxLoader.loadApi("search", "1", new Runnable() {
@Override
public void run() {
//do what you like
}
}, options);
使用这种方法加载时没有遇到任何延迟
相关文章:
- 仅重新加载网页的一部分
- 每次提交表单时都会重新加载网页
- 如何在加载网页时运行脚本
- 如何知道用户已经重新加载了网页,使用jquery.如果用户重新加载网页,
- 如何在javascript中点击按钮重新加载网页,但在重新加载后调用函数
- VBA加载网页并提取内存中的数据
- 当移动设备从睡眠状态唤醒时重新加载网页
- 如何在加载网页时隐藏元素
- 加载网页's主加载后的内容
- 一段时间后使用Javascript加载网页ASP.net
- 使用JavaScript更新网页,无需重新加载网页
- 停止以编程方式加载网页
- 使用ajax调用在mysql表更新上重新加载网页
- 从缓存加载网页时未执行Javascript
- 角度和加载网页的正确方式
- 阻止IE用户加载网页
- 定期重新加载网页,但前提是页面可用
- 仅当页面大小更改时重新加载网页
- 模板函数在加载网页时运行两次
- 如何在不使用 PHP/AJAX 重新加载网页的情况下自动更新内容