Получить html из ифрейма
Здравствуйте.
Подскажите как можно получить в переменную html загрузившейся страницы в ифрейме. Например есть var iframe = (isGecko) ? document.getElementById("frameId") : frames["frameId"]; var iWin = (isGecko) ? iframe.contentWindow : iframe.window; var iDoc = (isGecko) ? iframe.contentDocument : iframe.document; |
а доменное имя такое же?
|
нет в том то и проблема
|
значит никак.
|
А если на том же домене ?
document.write(" <iframe src='' width=500 border=0 height=500 id='frameId' name='frameId' ></iframe>"); function load() { var iframe = (isGecko) ? document.getElementById("frameId") : frames["frameId"]; var iWin = (isGecko) ? iframe.contentWindow : iframe.window; // Это объект window var iDoc = (isGecko) ? iframe.contentDocument : iframe.document; // Это объект document document.write(iDoc.getElementById('captcha_img').src); } window.onLoad=load(); Не выводит (( |
document.write надо очень редко, кроме того это очень распространенный источник ошибок - если его использовать после window.onload, он стирает документ перед тем, как что-то написать
по поводу "как найти iframe'овский document": iframe.contentDocument ? iframe.contentDocument : iframe.contentWindow.document |
Вот такой код пробовал
var iframe = (document.getElementById("frameId")) ? document.getElementById("frameId") : frames["frameId"]; var iDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; document.write(iDoc.images[0].src); И такой var iframe = document.getElementById("frameId") ? document.getElementById("frameId") : frames["frameId"]; var iDoc = iframe.contentDocument ? iframe.contentDocument : iframe.contentWindow.document; document.write(iDoc.getElementById('captcha_img').src); Не помогает :( В опере последней тестирую |
а доменное имя такое же?
|
Вот так попробовал
function get(iframe) { var doc=iframe.contentDocument; if (!doc && iframe.contentWindow) doc=iframe.contentWindow.document; if (!doc) doc=window.frames["frameId"].document; if (!doc) return false; if (doc.location=="about:blank") return false; return doc; } var iframe = document.getElementById("frameId"); if(!iframe && frames["frameId"]) iframe = frames["frameId"]; var ifr = get(iframe); document.write(ifr.getElementById('captcha_img').src); //и так document.write(ifr.images[0].src); Тоже не выходит ( |
А как тогда проверить получил ли js адрес картинки без document.write ?
|
Часовой пояс GMT +3, время: 12:10. |