1

我目前正在使用 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 将始终为您服务?

4

1 回答 1

1

您需要定义一个超时来确定脚本是否已加载。例如,如果脚本需要 10 秒来加载,那是可以接受的,但如果它需要超过 10 秒,您可以认为它“未加载”。

var apiLoaded = false;
function loadScript() { }
function callback() { 
    apiLoaded = true;
}
setTimeout(function() {
    if (apiLoaded === false) {
        // your backup logic here
    }
, 10000);
于 2013-02-26T21:39:51.470 回答