2014-09-05 3 views
1

У меня есть этот код, который успешно отслеживает URL, как они меняются в IFRAME:onclick v no onclick; как получить результат без клика

<html> 
<body> 
<iframe src="start.php"></iframe> 
<a href="#" onclick="alert(frames[0].location);">Get Link.</a> 
</body> 
</html> 

Когда «Получить ссылку» нажал на него показывает правильную ссылку. Когда пользователь перемещается внутри iframe на другую страницу (на том же сервере) и снова получает ссылку «Получить ссылку», он отображает текущий URL-адрес iframe.

Но мне нужно получить URL-адрес iframe без необходимости «нажимать» что-то.

Когда я делаю это:

<html> 
<body> 
<iframe src="start.php"></iframe> 
<script>alert(frames[0].location)</script> 
</body> 
</html> 

Предупредительное сообщение говорит «о: пустой»

Как я могу получить расположение Iframe с помощью «кадров [0] .Location» передается в переменную, может быть прочитана родительской страницей без использования функции onclick?

+0

Возможный дубликат: http://stackoverflow.com/questions/938180/get-current-url-from-iframe –

+0

How вы хотите получить его тогда, если не щелкнуть? Вы хотите оповестить URL-адрес периодически? – LcSalazar

+0

привет Раду, я пробовал этот код, и все, что я получаю, это «about: blank» ... LcSalazar, то, что я хочу, это прочитать URL-адрес в переменной PHP $ url = iframe_url; а затем, в другой части страницы, создайте внешний вид различных изображений, на которых просматривается URL-адрес iframe ... ближайший я пришел выше. он получает правильное имя ссылки, но он не делает мне много хорошего, если я не могу прочитать результат в переменной, я могу основать условные события на ... спасибо за ответ – user3697638

ответ

0

Попробуйте

alert(frames[0].contentWindow.location.href); 
0

Вы можете использовать непосредственно frames[0].location в коде, где вам это нужно. Или оберните его внутри функции. Он не отображается в теге <script> напрямую, потому что iframe еще не загружен в это время. Всякий раз, когда вы запрашиваете frames[0].location в своем коде, он должен указать объект местоположения iframe в это точное время

+0

"Всякий раз, когда вы запрашиваете кадры [0] .location в своем коде, он должен указывать местоположение объект iframe в это точное время »... так как бы я это сделал? frames ['название кадра здесь] .location? спасибо за ответ – user3697638

+0

Я не уверен, что я понимаю вопрос. Как вы хотите используйте это «местоположение»? Вы должны что-то делать с чем-то где-то? Поэтому всякий раз, когда вы хотите использовать расположение iframe, просто вызывайте кадры [0] .location. В вашем примере это было пустым, потому что в то время, когда вы хотели использовать он iframe еще не был загружен, поэтому он не имел значения. Скажем, в какой-то момент вы хотите передать значение местоположения iframe, которое вам просто нужно передать кадры [0] .location – jonasnas

+0

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

Смежные вопросы