3

この問題は chrome でのみ発生するようです これは iframe コードです

<!DOCTYPE html>
<html>
<head>
    <script>
    function blahblah() { alert("test"); }
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Test Page</title>
</head>
<body>

    <p> lalalalallalala!!! </p>

</body>
</html>

これは私がiframeを作成する方法です

<iframe src="iframetest.html" id="iframetest"></iframe>

次に、iframe の blahblah() 関数を呼び出そうとします。

$('#iframetest')[0].contentWindow.blahblah()

しかし、これは機能しません

4

1 に答える 1

4

これは機能します:

  <iframe id=iframetest src=iframetest.html></iframe>
  <script>
      $(window).load(function(){
         document.getElementById('iframetest').contentWindow.blahblah();
      });
  </script>

$(window).load以前は iframe が読み込まれたことを確認していたことに注意してください。load onを使用してdocumentも、iframe が確実に読み込まれるわけではありません。

もちろん、iframe のオリジンは親ドキュメントと同じでなければなりません (つまり、ファイルをhttp://ではなくブラウザで開く必要がありますfile://)。

編集:作業デモ

于 2012-08-29T08:38:24.690 に答える