Как определить, изменилось ли расположение фрейма? - PullRequest
1 голос
/ 10 февраля 2010

У меня есть iframe, который отображает форму с внешнего сайта, после отправки формы она перенаправляется на другую страницу, на которой есть сообщение с благодарностью. Можно ли узнать из iframe, есть ли расположение веб-страницы src изменилось? я надеюсь, что у меня есть какой-то смысл ...

Я получил этот код, который будет выполнять эту работу для меня с какого-то веб-сайта, он работает, пока я нахожусь на их веб-сайте, но когда я пытаюсь сделать это локально, я получаю сообщение об ошибке «Отказано в доступе» ...

<html>
<body>
<script language="JavaScript">
    function myLocation() {
        alert(document.all.myFrame.contentWindow.location);
    }
</script>
<iframe id="myFrame" src="http://www.java2s.com" style="width:200;">
</iframe>
<br>
<button onclick="myLocation();">Location of Frame</button>
</body>
</html>

спасибо

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

Вы можете использовать событие onLoad, как в следующем примере:

<iframe src="http://www.google.com/" onLoad="alert('Test');"></iframe>

Оповещение будет появляться всякий раз, когда местоположение в iframe изменилось. Единственная проблема с этой техникой заключается в том, что она может не работать с некоторыми старыми браузерами, такими как IE5 и ранняя Opera. ( Источник )

UPDATE:

В дополнение к вашему редактированию вы получаете ошибку «Отказано в доступе», поскольку вы не можете получить доступ к contentWindow.location веб-сайта, который не находится в том же домене родительского окна. Хотя это является неблагоприятным для вашего подлинного требования, это считается ограничением безопасности для предотвращения межсайтовых скриптов .

0 голосов
/ 10 февраля 2010
function chkCounter(counterValue) {
       var tmp=document.getElementById('txtCounter').value;
       document.getElementById('txtCounter').value=tmp+counterValue;

       if(document.getElementById('txtCounter').value>1)
       {
        document.getElementById("btnClose").disabled = false;
       }
    }

<input align="middle" type="button" onClick="self.close();" value="CLOSE" disabled="true" id="btnClose">
<input type="hidden" id="txtCounter">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...