Отказ от ответственности: этот ответ, который я написал в 2012 году (в то время Chrome был версией ~ 20), устарел, и я буду хранить его здесь только в исторических целях.Читайте и используйте на свой страх и риск.
Хорошо, это немного старый вопрос, но вот что я выяснил (это не полный ответ) для Chrome / Chromium.
способ определить, загружен ли фрейм, указывающий на внешний адрес, - просто попытаться обратиться к его содержимому или документу.
вот код, который я использовал:
element.innerHTML = '<iframe class="innerPopupIframe" width="100%" height="100%" src="'+href+'"></iframe>';
myframe = $(element).find('iframe');
затемпозже:
try {
var letstrythis = myframe.contentWindow;
} catch(ex) {
alert('the frame has surely started loading');
}
Дело в том, что если X-Frame-Options запрещают доступ, тогда будет доступен myFrame.contentWindow
.
проблема здесь в том, что я назвал "тогда,потом".Я еще не выяснил, на что положиться, какое событие подписать, чтобы найти, когда самое подходящее время для выполнения теста.