`
hyj1254
  • 浏览: 340207 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript父、子页面交互小结

阅读更多
    帧用来存放子页面,既可以是iframe,又可以是frameset。window对象是全局对象,页面上的一切函数和对象都在它的作用域里。
    1、parent代表父窗口、如果父窗口又存在若干层嵌套,则top代表顶级父窗口。
self代表窗口自身。
if(self==top){//}判断窗口是否处于顶级
if(self==parent){}//也可以

     2.1、父页面访问子页面元素。思路是子页面的元素都在其window.document对象里面,先获取它然后就好说了。
     帧最好设置name属性,这样操作最方便。如
<iframe name="test" src="child.html"></iframe>

假如要获取child.html里面id为'menu'的元素,则可以这样写:
window.frames["test"].document.getElementById('menu');
//由于所有的函数都存放在window对象里面,可去掉开头的window:
frames["test"].document.getElementById('menu');
//在浏览器中,帧的name属性被默认等同于子页面的window对象,因此可以进一步简写:
test.document.getElementById('menu');

     2.2 父页面访问子页面函数或对象。子页面的函数和对象都在其window对象里,同上,关键是获取该对象。
//假如child.html定义了showMesg函数,需要在父中调用,则这样写
window.frames['test'].showMesg();
//简写形式
test.showMesg();
//同理,对象也是如此访问
alert(test.person);

     2.3 其他获取document的方式。
先使用'document.getElementById()'或'document.getElementsByTagName()'把帧作为document下的Element获取,然后访问其属性contentDocument/contentWindow (iframe、frame特有),其中第一个ie7-不支持,第二个chrome不支持.
<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');
//如果需要window对象,则这样写:
if(winOrdoc.defaultView)winOrdoc=winOrdoc.defaultView;


     3.1子页面访问父页面元素。思路同2.1,先获取父窗口window.document对象.
parent.window.document.getElementById('parentMenu');
//简写
parent.document.getElementById('parentMenu');

     3.2,子页面访问父页面函数或对象。思路同2.2,先获取父窗口window对象。
parent.parentFunction();

   最后提一下js的同源策略,即位于A网站的js代码不允许访问位于B网站的内容,即使该代码来源于B网站。假如帧是其它网站的页面,那么按上述方法互相访问时,浏览器应该会提示:'没有权限'错误。


分享到:
评论
1 楼 ranbo3013 2010-06-08  
不错,归纳的可以。受用了!

相关推荐

    javascript刷新页面方法小结

    对于多框架页面(如弹出框、子窗口等),刷新策略需要考虑父窗口和子窗口的关系,确保刷新正确的目标页面。 ### 总结 JavaScript提供了多种刷新页面的方法,每种方法都有其适用场景和局限性。开发者应根据具体需求...

    javascript对象的相关操作小结

    浏览器对象模型是JavaScript与浏览器交互的基础,其中`window`对象是核心。它包含了如`document`、`location`和`history`等子对象。例如,我们可以通过`window.document`访问文档对象,通过`window.location`获取或...

    javascript div小结

    在这个`javascript div小结`中,我们将深入探讨JavaScript如何与`div`元素交互,包括选择、操作、动态创建以及CSS样式修改等关键知识点。 首先,我们可以通过JavaScript的DOM(Document Object Model)接口来获取和...

    javascript知识小结

    如果JavaScript文件存储为`.js`扩展名的外部文件,我们可以在`&lt;head&gt;`标签内使用`文件名"&gt;&lt;/script&gt;`引入,这样可以提高页面加载速度,因为脚本的下载和执行可以与页面渲染并行。 `Window`对象是JavaScript中的顶级...

    JavaScript中document用法小结

    JavaScript 中 document 对象用法小结 JavaScript 中的 document 对象是一个非常重要的对象,它提供了大量的属性和方法来操作 HTML 文档。下面是对 document 对象的一些常用属性和方法的总结。 属性 1. `document...

    JavaScript中textRange对象使用方法小结

    3. offsetLeft: 用于获取TextRange对象相对于页面布局或父容器(由offsetParent属性指定)计算后的左侧位置。 4. offsetTop: 与offsetLeft类似,该属性获取TextRange对象相对于页面布局或父容器的顶端位置。 5. ...

    JavaScript多种页面刷新方法小结

    JavaScript是Web开发中不可或缺的一部分,尤其在处理页面交互和动态更新方面发挥着重要作用。本文将详细探讨两种主要的JavaScript页面刷新方法:`reload`和`replace`,以及它们的使用场景和注意事项。 首先,`...

    用javascript关闭本窗口技巧小结_.docx

    JavaScript是一种常用的前端编程语言,常用于网页交互和动态效果的实现。在JavaScript中,有时我们需要在用户完成某些操作后关闭当前窗口,例如用户点击关闭按钮。然而,浏览器出于安全考虑,通常不允许脚本直接关闭...

    百度地图Javascript API实践小结1

    此外,JavaScript API 还提供鼠标交互功能,如修改鼠标样式、鼠标绘制等,并能进行地理编码和逆地理编码,将坐标与地址信息相互转换。 在使用百度地图JavaScript API 之前,首先需要申请一个密钥(ak),这是为了...

    JavaScript事件学习小结(一)事件流

    标题中的"JavaScript事件学习小结(一)事件流"指的是JavaScript中的事件处理机制,特别是事件流的概念。事件流描述了在DOM(文档对象模型)中事件如何从根节点传播到具体的元素节点。在JavaScript中,事件是用户与...

    javascript小结

    ### JavaScript小结 #### BOM(Browser Object Model):浏览器对象模型 BOM 是一个包含浏览器窗口相关的属性、方法和事件的对象模型。它允许开发者控制浏览器窗口并与其交互。主要对象包括 `window`、`document`...

    JavaScript几个小作业

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责在客户端处理网页的交互逻辑。在这几个小作业中,我们重点学习了JavaScript的基本语法、内置对象的使用,特别是Math对象,以及如何在HTML中嵌入...

    页面常用的JS脚本小结

    JavaScript,简称JS,是网页开发中不可或缺的一部分,主要用于实现页面的动态效果和交互性。这里我们来详细探讨一下"页面常用的JS脚本"这一主题,以及如何利用它们提升用户体验。 1. **DOM操作**:JavaScript通过...

    javascript操作元素的常见方法小结

    本文将结合实例,对JavaScript操作页面元素的常见方法进行小结。 首先,获取页面元素是进行其它操作的前提。document 对象提供了几个常用的方法来获取页面元素。例如,`getElementById` 方法可以获取页面上具有唯一...

    基于html汽车商城网站页面设计与实现.rar(毕业设计+毕业源码+答辩PPT)

    1.3 本章小结 IV 第2章 前端开发工具及相关技术 IV 1.4 前端开发环境 IV 1.5 前端开发工具 IV 1.6 前端开发相关技术 V 1.6.1 Java script 简介 V 1.6.2 Java script 基本特点 V 1.6.3 CSS简介 VI 1.6.4 JQuery VI (1...

    flash javascript之间的通讯方法小结

    标题《flash javascript之间的通讯方法小结》表明本文主要讨论的是Flash和JavaScript这两种技术之间进行交互与通讯的方法。Flash是一种用于创建动画、游戏和应用的多媒体软件平台,而JavaScript是一种广泛用于网页...

    javascript DOM 操作基础知识小结

    JavaScript DOM(Document Object Model)是Web开发中用于处理HTML或XML文档...无论是简单的文本更新还是复杂的页面重构,DOM都是实现这些功能的基石。在实际工作中,熟练掌握DOM操作将极大地提高开发效率和代码质量。

    源文件程序天下JAVASCRIPT实例自学手册

    源文件程序天下JAVASCRIPT实例自学手册 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 1.2 JavaScript能做什么 1.2.1 表单数据合法性验证 ...8.4 本章小结

    从零开始学JavaScript 源代码

    1.8 本章小结 1.9 本章习题 第2章 JavaScript编程的语言基础 第3章 JavaScript事件处理 第4章 JavaScript基于对象编程 第5章 文档对象模型(DOM) 第6章 String、Math、Array等数据对象 第7章 Window及相关顶级对象 ...

    JS获取子、父、兄节点方法小结

    在处理DOM(文档对象模型)时,经常需要获取元素的子节点、父节点和兄弟节点,以便于操作和更新页面元素。本篇文章将总结和介绍JavaScript中获取子节点、父节点、兄弟节点的方法,并提供两种获取兄弟节点的实现方式...

Global site tag (gtag.js) - Google Analytics