javascript – 如何从两个不同的页面引用弹出窗口?

我需要允许用户单击“page-1.htm”中的链接并打开一个弹出窗口.然后,当用户在主浏览器窗口中浏览“page-2.htm”时,我需要能够引用弹出窗口.

“page-1.htm”中的JavaScript

var playerWin = window.open("player.htm", "playerWin", "width=300,height=130");
playerWin.play("song.mp3");  // play() is a function in player.htm

“page-2.htm”中的JavaScript

playerWin.play("tune.mp3");

page-2.htm中的此代码生成错误“playerWin未定义”.这是可以理解的,因为在页面2.htm上没有定义名为playerWin的变量.

我的问题是:我能从第2.htm页引用弹出窗口吗?

解决方法:

即使你离开开启页面,我刚做了一个快速测试,弹出窗口仍然有’开启者’对象,你可以访问它.因此,要么轮询开启者并重置引用,要么在离开页面等待然后重新链接后添加计时器.

1.htm

<script>
var w = window.open("p.htm", "playerWin", "width=300,height=130");
</script>
<a href="2.htm">2</a>

p.htm

<a href="javascript:opener.w=this;">re-link</a>

2.htm

<script>
    var w;
</script>
<a  href="javascript:alert(w);">check</a>
上一篇:在Android中弹出?


下一篇:WPF drag过程中显示ToolTip.