`
isiqi
  • 浏览: 16539388 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

子页面通过JS传值到父页面

阅读更多
在一个页面的JS方法里调用另外一个页面,之后将新页面得到的值传回调用页面的问题,采用以下方式实现,具体实现:

父页面a.html:

<script>

function getLink(){

window.open("b.html","newindow","width=100,height=200,toolbar=no,scrollbars=no");

}

function getNewLinkValue(value){

alert(value);//可以得到子页面设的值

}

</script>

<input type="button" value="测试子页面调用" onclick="getLink();"/>

子页面b.html:

<script>

var wholeValue;

function setNewLinkValue(){

//之前有一个JS方法构造了wholeValue的值

window.opener.getNewLinkValue(wholeValue);//设置传递给父页面的值

}

</script>

小结:

window.open(url, name, features, replace) ;实现打开一个新窗口

其中:url指的是指向要在新窗口中显示的文档的URL;name该参数用于设置新窗口的名称,但是相同name的窗口只能创建一个,要想创建多个窗口则name不能相同;features用于设置新窗口的设置(如:显示宽高等信息);replace 指可选布尔参数,设置新窗口中的操作历史的保存方式,其中true 指创建新历史记录,false指替换旧的历史记录。
而window.opener只是对弹出窗口的母窗口的一个引用,指调用window.open方法的窗口;可以利用window.opener.location.reload();实现刷新父页面的功能;

在此也了解了window.opener与window.parent的区别:

window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。(通常在使用ifream调用或者location.href调用时可以使用此)

window.opener引用的是window.open打开的页面的父页面,当一个窗口用open方法打开了一个新窗口的时候,opener属性就生效;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics