Рамка попойка - PullRequest
       15

Рамка попойка

2 голосов
/ 19 июля 2009

Я пытаюсь использовать frame-buster-buster, как обсуждалось в этом вопросе: Frame Buster Buster ... необходим код ошибки

Он отлично работает при остановке фрейм-барстера, к сожалению, он также вообще останавливает любое изменение URL-адреса, включая нажатие на ссылки или ввод нового адреса в адресной строке.

Есть ли способ обойти это? Может быть, очистив функцию window.onbeforeunload после загрузки кадра? Или совершенно другой подход?

1 Ответ

3 голосов
/ 23 сентября 2009

Это то, чем я закончил. Он игнорирует только следующий редирект после загрузки страницы. Основным недостатком этого метода является то, что если фрейм никогда не вызывает свой фреймбастер (например, из-за того, что он не загружается должным образом, или сайт с фреймами изменяет свой код), это остановит следующую попытку перемещения страницы. Возможным решением было бы выполнить его после загрузки страницы фрейма, но непосредственно перед выполнением любого сценария. Другое решение будет заключаться в том, чтобы перехватывать только изменения URL в базовом URL хоста в рамке. Я понятия не имею, если это возможно, хотя ...

function ignore_next_redirect() {
  var redirect_timer;
  var prevent_bust = 0  
  window.onbeforeunload = function() { prevent_bust++; }  
  redirect_timer = setInterval(function() {  
    if (prevent_bust > 0) {  
      window.top.location = 'http://example.org/204'  
      window.onbeforeunload = function() {}
      clearInterval(redirect_timer);
    }  
  }, 1);
}

У него все еще есть проблемы - кажется, он прекращает загрузку контента, если это происходит в начале страницы.

Я знаю, что где-то есть решение - похоже, что в Google-изображениях оно работает. Обновится с любым прогрессом ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...