Определение состояния готовности DOM в iFrame (jQuery)
У меня есть скрипт, запускаемый в документе, который может быть или не быть вложенным в iframe. Я разобрался с проблемой обнаружения вложенных, но не могу понять, как определить состояние готовности DOM, когда это iframe.
Вот что у меня уже есть:
if (window.self !== window.top) {
// is nested
// DOM ready test here
// execute code here
} else {
// is not nested
$(document).ready(function() {
// execute code here
});
}
Я уже прочиталэта почта, но я не вижу ответа на мой конкретный вопрос. Возможно, я неправильно понимаю решения, поэтому не стесняйтесь меня поправлять.
РЕДАКТИРОВАТЬ: Кажется, это проблема Fancybox. Этот код:
alert(document.getElementById('username').className);
document.getElementById('username').focus();
Я вижу предупреждение с правильным значением, но элемент формы не получает фокус. Это говорит мне, что это не проблема с определением состояния готовности DOM. Оригинальный скрипт, который я пытался использовать, был таким:
$(document).ready(function() {
$('input.focus:last').focus();
});
РЕДАКТИРОВАТЬ 2 / РЕШЕНИЕ: мне пришлось прибегнуть к конкретному решению Fancybox, потому что кажется, что это конкретная проблема Fancybox. Я добавил эту строку в конфигурацию для этих форм Fancybox iframed:
'onComplete':function(){$('input.focus:last').focus();}