使用window.opener完成两个页面参数传递

父页面:

<html>
<body>


<script type="text/javascript">
function demo(){
window.open("b.html");
}
function de(n){
document.getElementById('a').value = n;
}
</script>
<input type="text" name="a" id="a">
<input type="submit" name="submit" value="submit" οnclick="demo()">
</body>

</html>


子页面

子页面调用父页面的de方法,同时将参数传递给de方法中

<html>
<body>


<script type="text/javascript">
function demo2(){
// window.opener.document.all.a.value = "liweixu";
window.opener.de("liweixu");
window.close();
}
</script>
<input type="submit" name="submit" value="submit2" οnclick="demo2()">
</body>

</html>

注:

问题:谷歌浏览器在子页面上点击选择按钮毫无反应,IE上需要通过允许可以实现

原因:是opener属性的缘故,但不是谷歌浏览器的兼容性问题,首先要知道js安全机制原则上是不能访问本地文件的,并且谷歌浏览器的安全设置级别比较高,认定你在"本地"应用opener属性的时候是通过js打开本地文件,所以操作被截止.

但是,在实际开发环境中是不会产生这个问题的,因为当把页面文件部署到服务器上,通过谷歌浏览器输入  localhost/******   或者   127.0.0.1/******  访问该页面,是没有毛病的。


“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

原味青豆

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值