Как остановить загрузку сайта, если он пытается вырваться из фрейма - PullRequest
1 голос
/ 04 июля 2011

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

<iframe id="framed_source" src = "<%= @excerpt.url %>"></iframe>
<script type="text/javascript">
    if ( top === self )
    {
        $(".framed_source").remove();
    }
</script>

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

Ответы [ 2 ]

0 голосов
/ 21 марта 2012

с этим кодом пользователю будет предложено, и если он захочет, он может оставить на вашей странице ... (я не пробовал)

<script type="text/javascript">
    window.onbeforeunload=function(e){
       $(".framed_source").remove();
       return 'Please keep here I will remove that buster iframe!';
    }
<script type="text/javascript">
0 голосов
/ 04 июля 2011

вот пример

<div id="pcontent"></div> <!-- Page 1 html -->
<script>
   setInterval(function(){//set interval
       if(!$('iframe').contents().find('#icontent').length)//check if div exists on iframe
          window.location.href= 'blbla.com';//if so redirect
    },100);//end interval
</script>
<iframe> <!-- This is your iframe below is the javascript code should go to page2.html -->
   <div id="icontent"></div>
   <script>
     setInterval(function(){
      if(!top.getElementById('pcontent').length)//check if the div exists on top most window
      window.location.href= 'blbla.com';
     },100);
   </script>
</iframe>

Теперь: внутри iframe есть то, что должно быть в iframe ... [только иллюстрация]

Вы также можете проверить другие вещи, например, если содержимое не имеет ширины, высоты, внутренний текст и html не совпадают и т. Д. *

...