1

現在、GoogleMapsAPIスクリプトを使用しています。

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 に答える