2009-12-24 3 views
0

вопрос подытоживает действительно ...Узнайте, когда window.location.href из фрейма изменился с JavaScript (JQuery)

У меня есть родительская страница с ребенком, IFRAME

Как вы узнаете, когда изменилось местоположение iframe, т. е. пользователь нажал ссылку в iframe, и iframe перешел на другую страницу.

Я знаю, что могу привязываться к событию iframe так, как показано на картинке onload

$("#theIframe").load(function(){ 
    //Do something 
}) 

Но тогда это слишком поздно ... страница уже загружена ...

В принципе, мне нужно, чтобы узнать, как только нажатии ссылки или форма была отправлена, или что-то вызывает расположение фрейма изменить ...

он не должен работать в IE, но все лучше, если он делает ... и она не должна быть JQuery либо ...

Спасибо заранее ...

ответ

1

Пройти

onbeforeunload 

событие на теле ребенка документа. Он поддерживается всеми основными браузерами.

+0

доказанным, что это хорошее решение, но это событие дает мне URL-адрес страницы, они перемещаются? – ekhaled

+0

Нет, но вы этого не просили. Это сложнее сделать, а не надежно. Вам нужно будет отслеживать события onclick и onsubmit каждой ссылки и формы на странице, и даже это не даст вам цель внешних событий, таких как нажатие кнопки «Назад». Невозможно заполучить их. –

1

тема стара, однако, этот код должен помочь

$("#theIframe").bind('DOMAttrModified', function(e) { 

console.log(e); 
}); 

подробнее о событиях DOM here (wiki)