BOM基础笔记

Window对象

  • parent 是父窗口
  • window.frames 返回窗口中所有命名的框架
  • opener是用open方法打开当前窗口的那个窗口

在页面内嵌入一个iframe,在iframe中提供一个输入项id为username,输入后,在iframe外面窗口id为myDiv的div标签中显示内容

    //子窗口-父窗口传值
function changeParent(){
               //1.0获取输入框的值
       var uvalue = document.getElementById("username").value;
       //2.0 获取父窗口的标签并赋值(parent是父窗口  )
   window.parent.document.getElementById("myDiv").innerHTML=uvalue;
}

在页面内嵌入一个iframe,在iframe中提供一个输入项id为username,输入后,在iframe外面窗口id为myDiv的div标签中显示内容

  //父窗口-子窗口传值
  function parentValueToChild(){
  //1.0获取标签的值
var myNames = document.getElementById("myName").value;
  //2.0获取到子窗口的标签并赋值(window.frames 返回窗口中所有命名的框架)
var subFrame = window.frames[0];//关键
subFrame.document.getElementById("username").value=myNames;
}

Js window.showModalDialog()方的使用简介

  a.url: 弹出窗口指向哪一个页面
  b.varArgIn: 向弹出页面传递的参数
  写法如下:
     window.showModalDialog("openner3.htm",tableObj);

在父页面中,如何制定所需传递的常数

  在Js中,定义一个类是很简单的(类的写法,不过感觉像是个HashMap),定义方法如下
  //定义一个超级对象
  var tableObj = new Object();
  //下面的写法就是自定义属性了,"tableObj."后面的属性名可以随便写,感觉有点像key值
  //"="后面的是属性值,也是什么都行,感觉有点像value值
  tableObj.table = window.document.getElementById("myTable");
  tableObj.userName = window.document.getElementById("txtUserName").value;
  //模拟调用一下
  var tempObj = tableObj;
  //在这里,"."后的属性名与之前对象定义的属性名一直就Ok了,感觉像通过key值取value值
  //"tempObj.table.tagName"之所以这样写是因为"tempObj.table"是指向了id为"myTable"的一个Table对象,所以可以调用这个对象的"tagName"属性来查看其是什么元素
  alert(tempObj.table.tagName);
  alert(tempObj.userName);

在子页面中如何接收来自父页面的参数

  调用下面的方法即可:
  var comeFromFatherPageObj = window.dialogArguments;

子页面向父页面传递返回值(当子页面即将关闭时)

  写法如下:
  //首先在父页面调用window.showModalDialog()方法的时候做些操作,如下:
  objReturnValue = window.showModalDialog("openner3.htm",tableObj);
  //然后再子页面,即将关闭的时候加一句话,如下:
  window.returnValue = "asdad";//可以是任何东西
  window.close();

你可能感兴趣的:(BOM基础笔记)