序言:
我已经将 Google 地图和地理定位实现为独立的小部件,现在用户可以在他拥有的页面中添加任意数量的小部件。
我正在使用 $.getScript(URl,callback) 加载该 URL 的脚本以使其正常工作。
问题 :
当用户在同一页面中多次添加两个小部件或同一小部件时,检查 windows.google 会失败,并且 $.getScript(url, callback) 会执行两次。因此我从 Google 脚本中收到错误
您已多次包含 Google Maps JavaScript API
这一页。这可能会导致意外错误。当调用时使用
$.getScript()
if(window.google !== undefined && window.google !== null) {
onScriptLoad(null, null, 200);
} else {
$.getScript(googleUrl, onScriptLoad);
}
上面的行存在于两个小部件中,并且两个小部件彼此独立。它总是进入两个函数的 else 块。
期待这里的一些工作,比如使用 javascript 或 jquery 同步加载脚本
当你的代码在第一个运行时widget,它会启动 google API 的加载,但是window.google
在脚本完成加载之前不会创建。这是异步
现在,第二个widget测试如果window.google
存在,但是这仍然发生在 google API 加载之前,因此,它也认为需要加载 google API
所以,而不是这个:
if(window.google !== undefined && window.google !== null) {
onScriptLoad(null, null, 200);
} else {
$.getScript(googleUrl, onScriptLoad);
}
try
window.loadingGoogleApi = window.loadingGoogleApi || $.getScript(googleUrl);
window.loadingGoogleApi.then(onScriptLoad);
the loadingGoogleApi
can be any您选择的名称(只是不要使用会被其他代码破坏的名称)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)