Динамическое создание 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а. Толи я поисковиком не умею пользоваться толи я, что то не так делаю. |
Как ругается-то?
|
фаер баг пишет вот такое
document.body is null error source line: [Break on this error] document.body.appendChild(el)[0]; |
Значит body ещё нет, когда вы в него добавить пытаетесь.
|
понял :) спс :)
|
у меня тогда еще вот такой вопрос.
я создаю Iframe с помощью кода приведенного выше, а затем мне нужно взять некоторые значения из той страницы, что он загружает в себя для этого я делаю так var div = el.contentWindow.document.getElementsByClassName('123')[0].innerHTML; alert(div.innerHTML); но alert не вызывается. почему такое может быть ?это из за того, что Iframe создается и тут же удаляется? или написано в коде не правильно? |
getElementsByClassName <- не кросбраузерный метод(если ты конечно его не переопределял(что думаю врятли)). Измени на getElementById, только предварительно измени строку
el.id = 'iframe'; на el.setAttribute("id", "iframe"); И проверь чтоб в этот момент у тебя iframe был! |
Цитата:
|
попробовал так как сказал 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 так и не появляется |
Чтобы документ в iframe загрузился, нужно время.
|
Часовой пояс GMT +3, время: 20:22. |