javascript父、子页面交互小结

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 18:42 点击:

 

帧用来存放子页面,既可以是iframe,又可以是frameset。window对象是全局对象,页面上的一切函数和对象都在它的作用域里。

1、parent代表父窗口,如果父窗口又存在若干层嵌套,则top代表顶级父窗口。self代表窗口自身。

      Java代码

        if(self==top){//}判断窗口是否处于顶级  

        if(self==parent){}//也可以

 2、父子页面交互

   1)父页面访问子页面元素。思路是子页面的元素都在其window.document对象里面,先获取它然后就好说了。

        帧最好设置name属性,这样操作最方便。如

        Java代码

        <iframe name="test" src="child.html"></iframe>

        假如要获取child.html里面id为'menu'的元素,则可以这样写:

        Java代码

        window.frames["test"].document.getElementById('menu');  

        //由于所有的函数都存放在window对象里面,可去掉开头的window:  

        frames["test"].document.getElementById('menu');  

        浏览器中,帧的name属性被默认等同于子页面的window对象,因此可以进一步简写:  

        test.document.getElementById('menu'); 

    2)父页面访问子页面函数或对象。子页面的函数和对象都在其window对象里,同上,关键是获取该对象。

         Java代码

         //假如child.html定义了showMesg函数,需要在父中调用,则这样写  

         window.frames['test'].showMesg();  

         //简写形式  

         test.showMesg();  

         //同理,对象也是如此访问  

         alert(test.person);

    3)其他获取document的方式。

        先使用'document.getElementById()'或'document.getElementsByTagName()'把帧作为document下的Element获取,然后访问其属性contentDocument/contentWindow (iframe、frame特有),其中第一个ie7-不支持,第二个chrome不支持.

        Java代码

        <iframe id="testId" src="child.html"></iframe>  

        //======  

        var doc=document.getElementById('testId');  

        //或者  

        var doc=document.getElementsByTagName('iframe')[0];  

        然后  

         var winOrdoc=doc.contentDocument||doc.contentWindow;//二选一  

         if(winOrdoc.document)winOrdoc=winOrdoc.document;  

         winOrdoc.getElementById('menu');

    4)子页面访问父页面元素。思路同1),先获取父窗口window.document对象.

         Java代码

         parent.window.document.getElementById('parentMenu

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Gb2312转utf-8编码的方法(vbs+js)
      • 如何使用Ajax技术开发Web应用程序(1)
      • js跳转路径问题
      • JavaScript模仿桌面窗口
      • 用js检测两个线段是否相交
      • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
      • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
      • 我是如何去了解jquery的(六),案例之幻灯片轮换
      • Jquery封装幻灯片效果
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1