1

私は Jquery で iframe の構築を実験しようとしていましたが、このコードは簡単だと思いますが、うまくいきません..

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>
4

1 に答える 1

0

これは、Google.com がX-Frame-Optionsと呼ばれるヘッダーで応答しているためです。ドキュメントから:

<frame>X-Frame-Options HTTP 応答ヘッダーを使用して、ブラウザがまたはでページをレンダリングできるかどうかを示すことができます <iframe>。サイトはこれを使用して、コンテンツが他のサイトに埋め込まれないようにすることで、クリックジャッキング攻撃を回避できます。

たとえば、すべてのサーバーがこの応答ヘッダーを送信するわけではありません ( 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>
于 2013-04-29T23:30:44.497 に答える