2个页面互相超链跳转

TheSon 2009-07-02 04:58:50
要求只使用javascript来实现

A.htm上有一个超链指向B.htm,
B.htm上有一个超链指向A.htm.
要求操作:
直接IE打开窗口1,加载A.htm后点击超链,打开新窗口2显示B.htm,再点击B上的超链,不打开新窗口,在窗口(1)中刷新A.htm。可以循环点击2个窗口的超链,但是始终只有2个窗口

直接IE打开窗口1,加载B.htm后点击超链,打开新窗口2显示A.htm,再点击A上的超链,不打开新窗口,在窗口(1)中刷新B.htm。可以循环点击2个窗口的超链,但是始终只有2个窗口

无论我怎么写,始终最开始打开那个窗口不能捕获。用window.opener也不行,(1)点击后打开(2),(2)点击后打开(3)
到最后就是打开3个窗口,后打开的2个(2)和(3)可以互相刷新,第一个直接用ie打开的是独立的窗口。
...全文
44 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gengzhw 2009-07-03
  • 打赏
  • 举报
回复
a.htm
<body onload=focus()>
a.htm<br/>
<a href=b.htm target=_b onclick="return chkopener()">b.htm</a>
</body>
<script>
function chkopener(){
try{
if (!window.opener.closed) {
window.opener.location.reload();
return false;
}
} catch (e1) { }
return true;
}
</script>


b.htm
<body onload=focus()>
b.htm<br/>
<a href=a.htm target=_a onclick="return chkopener()">a.htm</a>
</body>
<script>
function chkopener(){
try{
if (!window.opener.closed) {
window.opener.location.reload();
return false;
}
} catch (e1) { }
return true;
}
</script>
gengzhw 2009-07-03
  • 打赏
  • 举报
回复
支持3楼,不过代码可以再简化一些
一国之军 2009-07-03
  • 打赏
  • 举报
回复
学习
超维电脑科技 2009-07-03
  • 打赏
  • 举报
回复
学习和接分
v轻扬v 2009-07-03
  • 打赏
  • 举报
回复
看看这个是不是你要的效果,已经测试:
a.html

<a href="#" id="winA">b.html</a>
<script language="javascript">
var winA=document.getElementById("winA");
winA.onclick=function(){
if(window.opener){
if(opener.closed==true)
child_win=window.open("b.html","_blank","");
else
opener.location.reload();
return false;
}
if(child_win){
if(child_win.closed==true)
child_win=window.open("b.html","_blank","");
return false;
}
var child_win=window.open("b.html","_blank","");
return false;
}
</script>


b.html

<a href="#" id="winB">a.html</a>
<script language="javascript">
var winB=document.getElementById("winB");
winB.onclick=function(){
if(window.opener){
if(opener.closed==true)
child_win=window.open("a.html","_blank","");
else
opener.location.reload();
return false;
}
if(child_win){
if(child_win.closed==true)
child_win=window.open("a.html","_blank","");
return false;
}
var child_win=window.open("a.html","_blank","");
return false;
}
</script>
TheSon 2009-07-03
  • 打赏
  • 举报
回复
谢谢楼上,就是要这个效果
summer0214 2009-07-02
  • 打赏
  • 举报
回复
感觉不可能实现啊
岑子哥 2009-07-02
  • 打赏
  • 举报
回复
没明白你的意思 分别打开 a.html 和 b.html后
点击b.html上面的超链接<a>a.html</a>
a.html 刷新是吗

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧