2013-03-06 4 views
0

У меня есть загрузка html для каждой страницы в iFrame, которая содержит объекты, которые я пытаюсь использовать с jquery. Когда исходная страница загружается изначально, элементы находятся как ожидалось, но если я перехожу на новую страницу и возвращаю или обновляю страницу, элементы больше не будут найдены последовательно (сбой чаще всего не будет), пока я не очистю кеш и не перезагружу страницу.JQuery не удается найти элементы в iFrame после начальной загрузки

Я пробовал разные комбинации querySelectorAll и getElementsByClassName, но они работают только последовательно в первый раз. Казалось бы, это состояние гонки, но почему это работает в первый раз?

Эта проблема знакома всем?

+0

Вы уже пытаетесь отладить элементы iFrame на странице с помощью Firefox Firebug или Firefox для разработчиков? Где вы ссылаетесь на объект iFrame и как вы создаете iFrame? По jQuery или «стандартным образом», по html? Попробуйте взглянуть на http://stackoverflow.com/questions/205087/jquery-ready-in-a-dynamically-inserted-iframe – deste

ответ

0

Это оказалось условие гонки, в котором динамические элементы еще не были доступны для справки. В моем случае элемент iFrame был создан с использованием ExtJS, поэтому он нуждался в этом дополнительном слушателе, чтобы я мог действовать после загрузки (установка этой задержки в afterrender произошла из другого сообщения, которое мне нужно будет найти и дать кредит);

afterrender: function (cmp) { 
    var element = cmp.getEl(); 
    element.on('load', function() { 
     renderer.onIFrameReady(); 
    }); 
} 
Смежные вопросы