Я создал iframe с содержимым, динамически загружаемым с помощью jquery, как этот, и я хочу, чтобы документ iframe имел доступ к своему содержимому, как только он был загружен:
jQuery('<iframe>', {
id: 'widgetFrm',
width: '100%'
})
.appendTo('#widgetDiv')
.on('load', function () {
jQuery(this).contents().find('body').append(data.html);
})
Документ фрейма знает о jquery, потому что яиспользуйте
if (typeof(jQuery) == "undefined") {
var iframeBody = document.getElementsByTagName("body")[0];
var jQuery = function (selector) { return parent.jQuery(selector, iframeBody);
}
там.В iframe я хотел бы получить доступ к его элементам div после того, как все было загружено, для этого я использую jQuery(document).ready
(в динамически загружаемом контенте).
Проблема: Доступ к своим собственным элементам в рамочном документе как-то не работает с jquery 1.x в блоке готовности документа!document.getElementById('#someDiv')
возвращает значение null, а jQuery('#someDiv').prop('scrollHeight')
возвращает неопределенное значение, хотя содержимое фрейма имеет этот элемент (доступ к нему при нажатии кнопки работает!).С более новыми версиями jQuery (например, 3.3.1) это работает, но я не могу изменить эту версию в настоящее время.Есть ли другой способ сделать это?Спасибо!