1.htm:
<a href="some.html" target="window2_name">a</a>假设window2_name是2.htm的名字

解决方案 »

  1.   

    这个问题探讨过,可以使用Cookie,忘记在哪个帖子里了:(
    要实现上面的功能其实很简单。我有一个曲径通幽的办法,先讲一下思路,假如你觉得可以,我再把代码贴出来。
    为了描述问题的方便,我们有几个约定:
    1.我们称你在步骤一中打开的页面为A1;步骤二中打开的页面为A2;要关闭的窗口为B
    2.无论窗口A1/A2或B,都是我们自己编写的页面,他们都在同一个域里。如果你的本意是想用A打开新浪的首页,然后试图关掉它,那么下面的不用看了。
    3.我们假设你的目的只是关掉B,同时要求效率不是很高,比如要求在2秒之内,三秒之内关闭;或者你为了实现这个功能允许浏览器消耗一些资源
    4.我们假设用户的浏览器支持javascript和Cookie等等,否则免谈实现问题的原理
    1.A2<->B的消息传递:众人之所以认为你的要求不能达到,是认为A2和B没有办法进行通讯,或者得不到B的句柄。但是事实上他们是可以互相传递消息的,那就是Cookie
    2.A2发出关掉B的消息 当A2想要关掉B的时候,A2必须设置一个Cookie,我们假设为Command=BmustClose
    3.B需要不断接收有否来自A2的消息 我们可以设置每隔1秒/2秒B检查一次Cookie,看看有否"Command=BmustClose",假如发现这个Cookie值,则自行关掉综上,我的思路是否很完美:)
      

  2.   

    不知flylyke()的互相控制是什么意思?如果仅仅是提交或在另一页显示,赞同saucer(思归)的办法,直接用target
      

  3.   

    Sorry,也没仔细看看,就贴上去了
    前提:
    A 浏览器支持js和Cookie操作
    B 1.htm 和 2.htm 在同一个域里,也就是可以共享Cookie信息
    C 为了实现这个功能允许浏览器消耗一些资源实现原理:
    A 1.htm和2.htm的信息共享:他们是可以实现信息共享,那就是通过Cookie
    B 1.htm通过设置Cookie来向2.htm发送消息
    C 在2.htm中通过不断的检查Cookie来接收来自1.htm的消息
    D 为了在1.htm和2.htm中进行顺利的交流,Cookie的设置必须利用一些简单的信息编码技术:)
      

  4.   

    我在说明一下吧:
    1.htm是在2.htm中被打开的,可是制作人员那边不是用window.opener打开的,而是用一个插件(类似与Xwindow的插件,功能和它差不多),我是认为他们没有父子窗口的关系.如saucer(思归)的方法,
    可我应该怎么取的2.htm的name啊?,(页面都是他们用DW做出来的了)如果是用程序生成的我就不这么烦了
      

  5.   

    事先约定好了,然后就可以互相调用了
    1.htm的name叫window1
    2.htm的name叫window2
      

  6.   

    这样就简单了,得到那个窗口的句柄就好了呀
    http://www.csdn.net/Expert/TopicView1.asp?id=636720