访问iframe函数

时间:2012-08-29 08:32:44

标签: javascript jquery html web

这个问题似乎只发生在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()

但这不起作用

1 个答案:

答案 0 :(得分:3)

这有效:

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

请注意,我使用了$(window).load来确保加载了iframe。 <{1}}使用load无法确保加载iframe。

当然,您的iframe必须与父文档具有相同的来源(这也意味着您必须在浏览器的document中打开文件,而不是http://)。

编辑:Working demo