Сообщение от Deff
|
Если фрейм на том же домене, то можно так затестить URL фрейма
<iframe src="http://javascript.ru/forum/" name="myframe" height=500 width=100% onload="alert(myframe.window.document.URL)">
|
Видимо я недоступно объяснил суть вопроса
. Потому, что, к сожалению, не могу понять зачем мне тестить URL.
Ещё раз.
* Есть html страничка (main.html):
<html>
<head>
</head>
<body>
<iframe id = "idIframe" src="iframehtml.html">
</iframe>
</body>
</html>
* Рядом в той же папке на сервере лежит iframehtml.html (страница, на которую ссылается iframe выше):
<html>
<head>
<script type=text/javascript src=jquery-1.5.min.js></script>
</head>
<body>
<div>
Iframe html body
</div>
<input type=button id=goBtn value=go onclick="process()" />
<script type=text/javascript>
function process() {
beforeAction();
//После перехода на process.html полностью изменится контент файла iframehtml.html
$.get("/testiframe/process.html");
setTimeout(function () {
window.top.document.getElementById("idIframe").contentDocument.location.reload(true);
}, 5000)
}
function beforeAction() {
window.top.setInterval(function () {console.log(new Date())}, 1000);
var c = window.top.document.getElementById("idIframe");
c.__appendChild = c.appendChild;
c.appendChild = function(){
alert('new item added');
c.__appendChild.apply(c, arguments);
}
$("#idIframe").load(function () {
alert(1)
})
}
</script>
</body>
</html>
* В iframehtml.html есть кнопка, по нажатию на которую, сабмитятся поля в айфрейме и контент файла iframehtml.html полностью изменяется со стороны сервера. Со стороны же клиента происходит reload и контент обновляется (Предположительно через window.top.document.getElementById("idIframe").con tentDocument.location.reload(true))
* У меня нет доступа к main.html и iframehtml.html. Но со стороны сервера я могу писать код, который при загрузке страниц попадёт в функцию beforeAction().
* Вопрос. Могу ли я написать такой код (какой?) в функции beforeAction, чтобы при reload айфрейма я всё ещё имел контроль над выполнением кода. Т.е., например, в идеале хотелось бы добавить setInterval для main.html, который бы каждые 500 мс проверял бы содержимое айфрейма, и как только он перезагрузится полностью, то я мог бы сделать redirect или выполнить ещё какой-то код.