Хорошо, терпите меня, ребята, установка на этом длинная.
У меня есть простая страница. Он загружает фрейм. Внутри этого iframe есть форма. Я хочу, чтобы форма внутри iframe взаимодействовала с родительской страницей через jQuery.
Это работает правильно в Firefox, Chrome и Safari. Убедитесь сами здесь:
http://dl.dropbox.com/u/58785/iframe-example/index.htm
Однако в Internet Explorer 6/7/8/9 это не работает. Событие load срабатывает, но jQuery не может получить указатель на элементы внутри iframe.
Я использую второй аргумент 'context' функции jQuery для установки контекста селектора, например: var form = $('#myform'), this.contentDocument)
Вот что такое батт . Используя Инструменты разработчика F12 в IE9, я могу установить точку останова в моем JavaScript и посмотреть, как IE оценивает JavaScript. Если я наведу курсор мыши на this
, я увижу, что у него есть свойство contentDocument
. НО , если я наведу курсор мыши на this.contentDocument
, он скажет мне, что он не определен.
Поскольку он не определен, селектор jQuery не возвращает элементов. Опять же, это только в IE. И IFRAME находится в том же домене, так что это не проблема того же происхождения.
Есть указатели?