Возможных причин, по которым функция .onError()
может не работать, может быть несколько, это может быть из-за междоменных URL-адресов, для этого следует выполнить проверку перед фактической загрузкой iFrame
и для этого использования
var url = "google.com"
var loading_url = "/empty.html"
document.getElementById("iframe").src = loading_url;
$.ajax({
url: url,
type: 'GET',
complete: function(e, xhr, settings){
if(e.status === 200){
document.getElementById("iframe").src = url;
}
}
});
Это не будет работать для междоменных доменов, код состояния в этих случаях равен 0.
Еще одна вещь, которую нужно проверить, - обработчик .onError()
. Проверьте приведенный ниже пример, если он соответствует вашим условиям
Как я могу обрабатывать ошибки при загрузке iframe?
Существует множество других опций или настроек для обработки ошибок такого рода:
if (frameDoc.title == 'title of page after expection occur')
также выполнит работу, используя событие .onLoad()
iFrame.