我目前正在使用Google Maps API脚本:
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://maps.googleapis.com/maps/api/js?v=3.exp&key=KEY&sensor=false&callback=callback";
document.body.appendChild(script);
}
我已经使用status
中的响应callback
进行了回退,但是如果因为任何原因无法访问API,例如上面的脚本未加载时,如何创建回退?
或者,这是否过分,应该假设API将始终为您服务?
答案 0 :(得分:0)
您需要定义超时以确定脚本是否已加载。例如,如果脚本需要10秒钟才能加载,那么这可能是可以接受的,但是如果它超过10,你可以认为它“未加载”。
var apiLoaded = false;
function loadScript() { }
function callback() {
apiLoaded = true;
}
setTimeout(function() {
if (apiLoaded === false) {
// your backup logic here
}
, 10000);