iframe父子页面互访元素和函数

BOM、window、document、DOM

这里写图片描述

BOM

Browser Object Model,浏览器对象模型,由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。
window对象是BOM的顶层对象,所有对象都是通过它延伸出来,也可以称为window的子对象。由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象。

// 以下两行代码效果一样
document.write("www.baidu.com");
window.document.write("www.baidu.com");

window

window即为“窗口”,除了是BOM中所有对象的父对象外,window还包括一些窗口控制函数。
javascript中任何一个全局函数或变量都是window的属性

var test = "csdn";
document.write(test == window.test);// 由于test是全局变量,因此可以通过window.test访问,结果为true

window的子对象

  • document对象
  • frames对象
  • history对象
  • location对象
  • navigator对象
  • screen对象

window的函数

窗体控制函数窗体滚动轴控制函数窗体焦点控制函数新建窗体函数对话框函数状态栏属性时间等待与间隔函数
moveBy()scrollBy()focus()open()alert()defaultStatus属性setTimeout()
moveTo()scrollTo()blur()close()confirm()status属性clearTimeout()
resizeBy()opener属性prompt()setInterval()clearInterval()
resizeTo()

【说明】

  • 有的函数名字最后带有To或By,to是绝对的意思(从整体而言),by是相对的意思(从原先的位置而言)

document

document即“HTML文档”,是window对象的属性,也是DOM树的根节点。一个浏览器窗口中可能有对个document,例如通过iframe加载的页面,一个页面就是一个document。

document常用属性document函数使用document索引页面元素
cookiewrite()document.forms[0]或document.forms[“formName”]
titlewriteIn()document.links[1]或document.links[“linkName”]
URLdocument.open()
document.close()

DOM

Document Object Model,文档对象模型,为操作HTML的内容提供的接口。

一言以蔽之

DOM 是为了操作文档出现的 API,document 是其的一个对象;
BOM 是为了操作浏览器出现的 API,window 是其的一个对象。
这里写图片描述

归DOM管的:E区
归BOM管的:ABCD区。

  • A区:浏览器的标签页、地址栏、菜单栏等;
  • B区:浏览器的右键菜单;
  • C区:document加载时的状态栏,显示http状态码等;
  • D区:滚动条

父窗口访问子窗口

父窗口访问子窗口元素

// 由以上知识点知:只要获取子窗口的DOM对象,便可操作子窗口元素

// 通过window的frames对象来获取
var iframeDocument1 = window.frames[].document;//[]内可以是序数、iframe元素的name!!!不能是id
// 通过contentWindow获取
var ifrmaeDocument2 = document.getElementById("iframepage").contentWindow.document;

var value1 = iframeDocument1 .getElementById("父窗口元素ID");// JavaScript访问
var value2 = $("父窗口元素ID",ifrmaeDocument2); // jquery访问

// 【注意】以下获取的是iframe对象,只能操作iframe标签的属性,如iframe的src、border、scrolling等
var iframe = document.getElementById("iframeID");

父窗口访问子窗口方法

这里写代码片

子窗口访问父窗口

主要是通过parent和parent.document进行访问

子窗口访问父窗口元素

var obj = parent.document.getElementById("父窗口元素ID");// JavaScript访问
var $obj = $("父窗口元素ID",parent.document); // jquery访问

子窗口访问父窗口方法

parent.parentMethod();// parentMethod是父窗口的js方法

【注】

  • 所有javascript的全局函数,都是window的方法,因此若要访问js函数,需先获得window对象;
  • 要想操作元素,需先获得document对象;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值