Я попытался загрузить сценарий с помощью ajax-вызова с тайм-аутом. Если вызовы не выполняются после тайм-аута, я отменяю вызов, но когда я осмотрел вкладку сети, я вижу, что статус js все еще находится на рассмотрении, а также страницы загрузчик все еще загружается.
![enter image description here](https://i.stack.imgur.com/4aR54.png)
Файл сценария, который я пытался загрузить, представляет собой API Google Map из Китая. Если запрос не выполняется, я загружаю версию API на китайском языке, и она работает нормально, но для остановки загрузки страницы и отображения ниже сообщение.
jquery.min.js: 2 GET https://maps.googleapis.com/maps/api/js?key="--mykey---"&libraries=places&_=1553093568934 net :: ERR_TIMED_OUT
Мой код для загрузки и прерывания ниже
var xhr = $.ajax({
url: "https://maps.googleapis.com/maps/api/js?key=keyyy&libraries=places",
dataType: "script",
timeout: 5000
}).done(function() {
//do stuff
console.log("loaded");
})
.fail(function() {
//do stuff
console.log("fail");
xhr.abort();
$.ajax({
url: "https://maps.google.cn/maps/api/js?key=keyy&libraries=places",
dataType: "script",
timeout: 5000
}).done(function() {
//do stuff
console.log("loaded");
})
});
Я тоже пробовал это
var xhr = $.ajax({
url: "https://maps.googleapis.com/maps/api/js?key=key&libraries=places",
dataType: "script",
timeout: 5000,
success:function(){
},
error:function(a,b,c){
//do stuff
console.log("fail");
console.log(a,b,c);
console.log(xhr.state());
xhr.abort();
console.log(xhr.state());
$.ajax({
url: "https://maps.google.cn/maps/api/js?key=key&libraries=places",
dataType: "script",
timeout: 5000,
success:function(){
console.log("loaded chinese")
},
error:function(a,b,c){
}
})
}
})