Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2010, 15:47
Аспирант
Отправить личное сообщение для Арсений Посмотреть профиль Найти все сообщения от Арсений
 
Регистрация: 14.05.2010
Сообщений: 34

Динамическое создание Iframe
Нужно создать динамически Iframe
я создаю его таким вот путем
var el = document.createElement("iframe");
document.body.appendChild(el);
el.id = 'iframe';
el.style.width = "50px";
el.style.height = "50px";
el.src = 'test_2.html';


но почему то ругается на
document.body.appendChild(el);
уже перерыл гугл ни как не могу найти альтернативный вариант создания Ifremа. Толи я поисковиком не умею пользоваться толи я, что то не так делаю.
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2010, 15:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Как ругается-то?
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2010, 15:56
Аспирант
Отправить личное сообщение для Арсений Посмотреть профиль Найти все сообщения от Арсений
 
Регистрация: 14.05.2010
Сообщений: 34

фаер баг пишет вот такое
document.body is null
error source line: [Break on this error] document.body.appendChild(el)[0];
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2010, 16:02
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Значит body ещё нет, когда вы в него добавить пытаетесь.
Ответить с цитированием
  #5 (permalink)  
Старый 18.05.2010, 16:07
Аспирант
Отправить личное сообщение для Арсений Посмотреть профиль Найти все сообщения от Арсений
 
Регистрация: 14.05.2010
Сообщений: 34

понял спс
Ответить с цитированием
  #6 (permalink)  
Старый 18.05.2010, 16:38
Аспирант
Отправить личное сообщение для Арсений Посмотреть профиль Найти все сообщения от Арсений
 
Регистрация: 14.05.2010
Сообщений: 34

у меня тогда еще вот такой вопрос.
я создаю Iframe с помощью кода приведенного выше, а затем мне нужно взять некоторые значения из той страницы, что он загружает в себя для этого я делаю так
var div = el.contentWindow.document.getElementsByClassName('123')[0].innerHTML;  
alert(div.innerHTML);


но alert не вызывается.
почему такое может быть ?это из за того, что Iframe создается и тут же удаляется? или написано в коде не правильно?
Ответить с цитированием
  #7 (permalink)  
Старый 18.05.2010, 16:51
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,812

getElementsByClassName <- не кросбраузерный метод(если ты конечно его не переопределял(что думаю врятли)). Измени на getElementById, только предварительно измени строку
el.id = 'iframe';
на
el.setAttribute("id", "iframe");

И проверь чтоб в этот момент у тебя iframe был!
__________________
.
Ответить с цитированием
  #8 (permalink)  
Старый 18.05.2010, 17:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Арсений
Iframe создается и тут же удаляется?
А загрузку ждёте?
Ответить с цитированием
  #9 (permalink)  
Старый 18.05.2010, 17:44
Аспирант
Отправить личное сообщение для Арсений Посмотреть профиль Найти все сообщения от Арсений
 
Регистрация: 14.05.2010
Сообщений: 34

попробовал так как сказал Skipp
и мне выдало вот такую ошибку
el.contentWindow.document.getElementById("123") is null
error source line: [Break on this error] var div = el.contentWindow.document.getElementById('123')[0].innerHTML;

я так понимаю, что это как и в прошлый раз было с body, только тут Iframe еще не загрузилось, а поиск нужно мне элемента уже начался? или тут в чем то другом ошибка?

Kolyaj
я не понял вопроса получается я клацаю на кнопку и вижу как появляется Iframe и тут же исчезает но alert так и не появляется
Ответить с цитированием
  #10 (permalink)  
Старый 18.05.2010, 19:58
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Чтобы документ в iframe загрузился, нужно время.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание елемента из динамически созданного элемента. Anguis Элементы интерфейса 10 16.12.2009 16:26
Динамическое создание вкладок mwnuke ExtJS 2 12.11.2009 11:21
динамическое создание тадлицы magistr_bender Элементы интерфейса 14 23.07.2009 16:36
Динамическое создание событий в цикле IcyBox Общие вопросы Javascript 2 01.06.2009 07:42
Повторное создание iframe Smoke Events/DOM/Window 7 07.02.2009 14:14