Javascript: как получить событие изменения self.location? - PullRequest
2 голосов
/ 03 декабря 2010

Так что я хочу сделать это:

if (top != self) {
    top.location = self.location;
}

на self.location; изменить событие. (можно использовать Jquery, если это действительно необходимо, но я бы не хотел этого делать) Возможно ли это и как это сделать?

Основная идея состоит в том, чтобы держать все всплывающие окна сверху. И здесь мы пытаемся изменить код окна, чтобы он попадал в начало страницы, когда пользователь нажимал на главную страницу, чтобы открыть новую. Итак, если настроим, мы подпишемся и послушаем событие изменения self.location. Интересно, как это сделать?

Ответы [ 2 ]

6 голосов
/ 03 декабря 2010

Вы пытаетесь сделать «разбор кадра»? Или вы хотите знать, когда меняется top.location? Если последнее, я предполагаю, что это обнаружение изменений в значении хеш-тега URL, в противном случае изменение местоположения загружает новую страницу, поэтому ваш JS никогда не сможет работать.

Если вы хотите проверить события изменения хеш-тега (то есть, содержимое после # в URL), прочитайте этот похожий вопрос по SO: On-Window-Location-Hash-Change .

Если речь идет о снятии фрейма, есть много вопросов, связанных с SO, таких как Frame Buster Buster .

А также интересное сообщение в блоге о Coding Horror .

1 голос
/ 03 декабря 2010

Вы имели в виду?

if (top.location != self.location) { top.location=self.location; }
...