有些客户未能在生产环境中加载Google API,但我无法找到我的代码有任何问题。
这就是我所拥有的:
// Load Google's JavaScript Client API using requireJS !async plugin.
// You can learn more about the async plugin here: https://github.com/millermedeiros/requirejs-plugins/blob/master/src/async.js
define([
'async!https://apis.google.com/js/client.js!onload'
], function () {
'use strict';
console.log("googleAPI has loaded", window.gapi, window.gapi.client);
return window.gapi;
});
我从Load async resource with requirejs timeout
中提取了这些信息显示的错误消息是:
未捕获错误:模块的加载超时: 异步!https://apis.google.com/js/client.js!onload_unnormalized2,async!https://apis.google.com/js/client.js!onload http://requirejs.org/docs/errors.html#timeout
此代码不会在本地产生任何问题。加载很好。
我调试问题的第一步是将requireConfig中的waitMinutes从7增加到90.我想也许很多人的连接速度很慢:
define(function () {
require.config({
baseUrl: 'js/',
enforceDefine: true,
// I'm seeing load timeouts on in googleAPI -- seeing if increasing wait time helps.
waitSeconds: 90,
...
});
});
这似乎不会影响这个问题。我仍然看到许多客户报告了一个问题。
在这种情况下,我可以使用哪些其他调试选项?感谢
答案 0 :(得分:0)
因此,在Internet Explorer 8中尝试调试我的应用程序时遇到了类似的问题,也许我的体验类似于您的客户'。
对我来说,我发现我收到超时错误,因为我的测试浏览器由于过时的根证书而无法通过https检索资源。我在运行Windows 7的虚拟机中进行了所有Internet Explorer测试。当我尝试加载应用程序时,我收到了您在帖子中提到的相同错误:
Uncaught Error: Load timeout for modules:
async!https://apis.google.com/js/client.js!onload_unnormalized2,async!https://apis.google.com/js/client.js!onload http://requirejs.org/docs/errors.html#timeout
我手动尝试了网址,并被带到了“不受信任的证书”中。我浏览器上的警告页面。这让我很困惑,但是后来我发现我的Windows操作系统上的根证书已经过时,导致https握手失败。异步插件似乎消耗了身份验证异常,只是等待某些东西神奇地经历导致超时错误。
我发现的解决方案如下:
至于进一步调试的建议,我有两个想法: