Framekiller killer: перенаправить framekiller на кадр - PullRequest
2 голосов
/ 09 августа 2011

Я создал приложение HTML + JS, которое использую по своим мистическим причинам. Эта вещь использует IFrame для отображения веб-страниц в середине приложения. Я реализовал простой убийца фрейм-киллеров:

window.onbeforeunload = function(e){
  e.preventDefault();
  e.stopPropagation();
  return false;
}

Что, в общем, работает нормально. Проблема в том, что некоторые сайты, после отправки формы, отчаянно пытаются вырваться из ограничения фрейма, которое блокируется убийцей фреймов. Как побочный эффект, я не могу отправить такие формы, не убив приложение.

Возможно ли каким-то образом заставить сайты, которые я отображаю, направить их отправку формы на фрейм, а не на самый верх дерева отображения?

1 Ответ

0 голосов
/ 20 сентября 2011

Все, что вам нужно сделать, - это получить доступ к элементу формы, который вы хотите изменить, и установить целевой объект формы так, чтобы он указывал на ваш iframe. Так например

<script>
    function changeToIframe() {
        var tmp =document.getElementById('form_id_to_change');
        tmp.setAttribute("target","my_iframe"); 
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...