>  기사  >  php教程  >  Iframe 상위 페이지와 하위 페이지 간의 상호 호출에 대해

Iframe 상위 페이지와 하위 페이지 간의 상호 호출에 대해

高洛峰
高洛峰원래의
2016-12-06 09:46:291348검색

iframe 요소는 문서 내의 문서입니다.

창 개체: 브라우저는 HTML 문서를 열 때 해당 창 개체를 생성합니다. 그러나 문서가 하나 이상의 프레임을 정의하는 경우(즉, 하나 이상의 프레임 또는 iframe 태그를 포함함) 브라우저는 원본 문서에 대한 창 개체를 만든 다음 각 iframe에 대한 추가 창 개체를 만듭니다. 원래 창의 하위 창.

contentWindow: 지정된 iframe 또는 iframe이 위치한 창 객체를 참조합니다.

Demo1

상위 페이지 fu.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>父页面</title>
  </head>
  <body>
  <input type=button value="调用子页面中的函数childSay函数" onclick="callChild()">
  <iframe id="myFrame" src="zi.html"></iframe>
  <script type="text/javascript">
function parentSay() {
alert("我是父页面中的方法");
}
function callChild()
{
document.getElementById("myFrame").contentWindow.childSay();
}
  </script>
  </body>
</html>

하위 페이지 zi .html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>子页面</title>
  </head>
  <body>
  <input type=button value="调用父页面中的parentSay()函数" onclick="callParent()">
  <script type="text/javascript">
function childSay()
{
alert("我是子页面的say方法");
}
function callParent() {
parent.parentSay();
}
  </script>
  </body>
</html>

Demo2

상위 페이지 iframe1.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>父页面与子页面之间的调用</title>
  </head>
  <body>
  <iframe src="http://localhost/iframe/iframe3.html" id="iframe3"></iframe>
  <iframe src="http://localhost/iframe/iframe2.html" id="iframe2"></iframe>
  <div>我是父页面</div>
  <script type="text/javascript">
  var iframe2=document.getElementById(&#39;iframe2&#39;);
  iframe2.onload=function(){//父页面调用子页面中的方法
    iframe2.contentWindow.b();
  };
  function test2() {
    console.log("我是父页面中的方法,在子页面中调用的");
    return iframe2;
  }
  </script>
  </body>
</html>

하위 페이지 iframe2.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>子页面</title>
  </head>
  <body>
  <div id="test">aaa</div>
  <div>子页面</div>
  <script type="text/javascript">
  //子页面iframe2.html调用父页面iframe1.html的函数:
   parent.test2();
   function b(){
      console.log("我是子页面iframe2");
    }
    function c() {
      console.log("iframe3页面调用iframe2页面");
    }
  </script>
  </body>
</html>

하위 페이지 iframe3.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>iframe3</title>
  </head>
  <body>
  <script type="text/javascript">
  var iframe2=parent.test2();
  iframe2.contentWindow.c();//iframe3调用iframe2中的方法
  </script>
  </body>
</html>

Demo2는 하위 페이지 간의 상호 호출도 구현합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.