If (opener.closed) then
else
endif

解决方案 »

  1.   

    if (winObject && winwinObject.open && !winwinObject.closed) 

    http://go.163.com/~colorweb 
    里的javascript专栏里看看!!
      

  2.   

    to:net_lover(孟子E章)兄弟,我试过了,好像不行啊!你试过吗??
      

  3.   

    看看下面的例子:直接拷贝存为.htm文件即可!即可!!
    ==========  例子1  ===========
    <body>
    <script>
    var win = null;
    function testwin() {
    win = window.open("http://lucky.myrice.com");
    if (win && win.open && !win.closed)
    alert("窗口存在!!!")
    else
    alert("窗口已经被用户关闭!!!")

    </script>
    <a href="#" onclick="testwin()">点击进行测试</a>
    </body>=========  例子2  ==========<body>
    <script>
    var win = null;
    function testwin() {
    win = window.open("http://lucky.myrice.com");
    win.close();
    if (win && win.open && !win.closed)
    alert("窗口存在!!!")
    else
    alert("窗口已经被用户关闭!!!")

    </script>
    <a href="#" onclick="testwin()">sdlvnsl</a>
    </body>
      

  4.   

    =========  例子2  ==========<body>
    <script>
    var win = null;
    function testwin() {
    win = window.open("http://lucky.myrice.com");
    win.close();
    if (win && win.open && !win.closed)
    alert("窗口存在!!!")
    else
    alert("窗口已经被用户关闭!!!")

    </script>
    <a href="#" onclick="testwin()">点击进行测试</a>
    </body>
      

  5.   

    to net_lover(孟子E章) :
    问题是,我所要知道的是父窗口是否被关闭了?
    而不是子窗口!
    因为,我有些信息要从子窗口传递给父窗口。兄弟,你有好的办法吗??
      

  6.   

    将下面的文件拷贝保存,打开Test.htm文件进行测试!!
    1,当关闭test.htm文件的窗口
    2,不关闭可得到不同的提示!!!################  net_lover  孟子E章   例子   ###############Test.htm 文件如下:<body>
    <script>
    var win = null;
    win = window.open("1.htm");
    </script>
    </body>1.htm
    文件如下:<script>
    function aaa(){
    if (opener && opener.open && !opener.closed)
    alert("窗口存在!!!")
    else
    alert("窗口已经被用户关闭!!!")}
    </script>
    <body>
    <a href="#" onclick="aaa()">点击进行测试</a>
      

  7.   

    直接用
    if (parent!=self) 
    来判断!
      

  8.   

    to net_lover(孟子E章):非常感谢您的耐心指导,不过我把你上面的代码复制下来,反复测试了一番,发现有一个问题:它不是很稳定,也就是说,当我多次首先关闭opener窗口时,然后,点击子窗口的测试连接,它有时会提示“窗口已经被用户关闭!!!" ,但有时会提示"窗口存在!!!" ,更有甚者,有时会系统报错,说这个窗口对象不存在。 您有没有与遇到个问题啊???to  yonge(勇崽):
    请讲得仔细一些,谢谢!!
      

  9.   

    我来总结一下吧
    在JS版类似的问题我已经回答不少了
    窗口的关闭实际上IE浏览器有一个黑色幽默
    我测试过 从文件菜单选退出和点关闭按钮关闭 效果不一样似乎只有点了系统才能用这段JS检测到关闭
    在我的主页http://yeqiufeng.51.net 的秋韵栏目中有一个 秋韵阡陌 下拉菜单菜单
    你查看一下源文件就知道我如何判断的关闭了祝您好运
      

  10.   

    看看这个例子http://www.51js.com/tips/t01231443.htm
      

  11.   

    to yeqiufeng(叶秋枫):
    我看了你的那个主页,还是不明白!能给个例子马?
      

  12.   

    试试这个:
    test.htm:
    <body onunload="UnloadWin">
    <script>
    var win = null;
    win = window.open("1.htm");
    win.opener_win=1;function UnloadWin(){
      if (win) win.opener_win=0;
    }</script>
    </body>1.htm:<script>
    function aaa(){
    if (document.opener_win == "1" )
    alert("窗口存在!!!")
    else
    if (document.opener_win == "0")
    alert("窗口已经被用户关闭!!!")}
    </script>
    <body>
    <a href="#" onclick="aaa()">点击进行测试</a>
    <input type="hidden" name="opener_win" value="999">
    </body>对了就加分!
      

  13.   

    我自己测试没有问题!!1请你把你出问题的测试步骤发出来,我看看是否有问题!!!
    我的环境:IE5.50.4134.0600
    比这早的IE5.5版本不太稳定!!但我没有实验过!!稳定的版本应该没有问题!!
      

  14.   

    而且在Netscape(R) Communicator 4.77 下也没有问题的啊!!!!!
      

  15.   

    我的IE版本:5.00.2920.0000 中文版我发觉问题的规律是这样的:
    ie在显示test.htm之后,你如果首先关了test.htm所在的窗口,然后,点击 1.htm上的测试连接,系统就报错了,屡试不爽!!!!
      

  16.   

    to net_lover(孟子E章)我说的问题您遇到了吗??
      

  17.   

    在ie5.0上是你所说的那样,但 ie5.5,NS4.7是对的!我在寻求别的办法!!
      

  18.   

    <!--filename:testsel.php3-->
    <a href="#" onclick="window.open('testsel.php3','','');">Open</a><br>
    <button onclick="test()">Test Opener</button>
    <script language="javascript">
    function test()
    {
    try{

    window.opener.location="testsel.php3";
    alert("Opener exist");
    }
    catch(e)
    {
    alert("Opener not exist");
    }
    }
    </script>
      

  19.   

    yong yi chang chu li ba!!!