2013-04-29 9 views
1

Я пытался экспериментировать строить IFRAME с Jquery, который я думаю, прямо вперед через этот код, но он не работает ..Iframe в Jquery не загружается страница

jQuery(document).ready(function() { 
       $("#opposition a").click(function(e) { 
       var first_id = $(this).attr('id'); 
       var second_id = $("h1").attr('id'); 
       $("#opposition img").mouseover(function() { 
       $(this).css('border-width','5px'); 
     }); 
       $("#opposition img").mouseout(function() { 
       $(this).css('border-width','2px'); 
     }); 
       $.get("compare_proc.php",{ 
       id:first_id, 
      id2:second_id 
    }); 
    $("#frame").attr("src", "http://www.google.com/"); 
       e.preventDefault(); 
       }); 
    }); 

HTML:

<div id="mydiv"><iframe id="frame" src="" width="100%" height="300"> 
    </iframe></div> 
    <button id="button">Load</button> 

ответ

0

Это из-за заголовка, на который отвечает Google.com с именем X-Frame-Options. Из документации:

HTTP-заголовка ответа X-Frame-Options может быть использован для указания , должен ли браузер разрешено отобразить страницу в <frame> или . Сайты могут использовать это, чтобы избежать атак с помощью clickjacking, , гарантируя, что их контент не встроен в другие сайты.

не все серверы отправляют этот заголовок ответа, например (demo), это работает:

<div id="mydiv"><iframe id="frame" src="" width="100%" height="300"> 
    </iframe></div> 
    <button id="button">Load</button> 
<script> 
$('#button').on('click', function() { 
    $("#frame").attr("src", "http://wikipedia.com"); 
}); 
</script>