Javascript: вземане съдържанието на фрейм

sizif

Registered
Здравейте!

В страницата зареждам фрейм (външен файл), чието съдържание искам да взема и обработя с JavaScript в основния прозорец. Възможно ли е да стане?
 
Нещо такова трябва да свърши работа:

iFrame = document.getElementById(iFrameID);
content = iFrame.document.body.innerHTML;

или

iFrame = document.getElementById(iFrameID);
content = iFrame.contentWindow.document.body.innerHTML;
 
vaskoa,

не успях да получа стойността дори на локален файл във фрейма. Къде трябва да стои този скрипт - във втори фрейм? Можеш ли да допълниш примера?


I_V_O,

ако наистина няма да позволи (за отваряне с AJAX знам, че не става), какъв вариант би предложил?

Трябва да взема съдържанието на външен файл и да го обработя при клиента. Не искам да опирам до сървъра.

Някакви идеи?
 
ето ти работещ пример:

<script type='text/javascript'>
function a(){
var iframe = document.getElementById("myframe");
alert(iframe.contentWindow.document.body.innerHTML );
}
</script>
<iframe id ='myframe' src='test.html'></iframe>
<br />
<button onclick='a()'>get</button>

това както ти е казал иво ще работи единствено ако става дума за същия домейн / хост.

за да преодолееш това ограничение може да си направиш еднин мини php файл на сървъра :

<?php
echo file_get_contents('http://страницата, която ти е в iframe');
?>

запазваш го като proxy.php и си правиш iframe така:

<iframe id ='myframe' src='proxy.php'></iframe>

и готово ...
 

Back
Горе