15

私はこれが初めてです。ページに を作成しましたが、 からまでiframeのテキストが必要です。これが私のコードです:iframejquery

<html>
  <head><script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

    <script type="text/javascript">
    function copyIframeContent(iframe){  
        var iframeContent = $(iframe).contents(); //alert(iframeContent);
        //$("#result").text("Hello World");
        $("#result").html(iframeContent.find('body').html);alert(iframeContent.find('body').html());
    }
    </script>
  </head>
  <body>
    <iframe id="myIframe" onload="copyIframeContent(this);" name="myIframe" src="text.php"></iframe><br />
    Result:<br />
    <textarea id='result'></textarea>
    <input type="button" value="click" id="btn" onclick="aa()">
    <script type="text/javascript">
         function aa(){  alert("Fdf");
            alert(document.getElementById('myIframe').contentWindow.document.body.innerHTML);
    }
    </script>
  </body>
</html>

text.php:

text to change

すべてのブラウザで多くのことを試しましたが、それでも機能しません。このコンテンツを入手するのを手伝ってくれる人はいますか?

4

4 に答える 4

1

jquery を使用すると、少し簡単になります。

$('Your Selector', frames['myIframe'].document)

上記の例では、myIframeから何かを取得します。ただし、iframe は親ドキュメントと同じドメインのものでなければなりません。同じドメインからのものではない場合、セキュリティ違反が発生します (外部サイトのコンテンツをページに追加して、そのコンテンツを変更することはできません)。

セキュリティ違反がなければ、その選択で何でもできます。たとえば、jquery の append() メソッドを使用して iFrame 内に新しい html を挿入したり、html() メソッドを使用して html または jquery/pure javascript が許可するその他の関数を置き換えたりできます。

于 2013-05-16T14:45:11.603 に答える