同一页面就用弹出层 显示B C,如果是open出来的新页面用session或者cookie

解决方案 »

  1.   

    用session控制,可以实现用户不能再继续操作那些弹出的界面,虽然可以看到。window.open是有返回值的,这个值就是那个打开的窗口,如var win = window.open(url)。你注销后(只能ajax注销了),跳转页面之前可以win.close(),关闭那些窗口。
      

  2.   


    现在父画面可以跳转N个 子画面,这个子画面也可以跳转另一个子画面,请问怎么用Session 控制。 能详细解释下么?父画面A
    ->A1  ->B1 ->C1
    ->A2  ->B2 ->C2
    ->A3  ->B3 ->C3        
      

  3.   

    session只能控制注销后无法继续访问,不能控制关闭,只能是用window.open的返回值,既然你可以跳转,那么可以专门用个js文件来记录这个window,用闭包MyWindows.B画面窗口变量 = window.open(b画面地址),使用ajax注销后(或者捕捉A画面的关闭事件),在这个事件内调用MyWindows.B画面窗口变量.close()
      

  4.   


    现在这样的画面太多。有没有 什么方法可以 像showModelDialog一样,子画面不关闭, 父画面不可以有任何处理的方法??
      

  5.   


    现在这样的画面太多。有没有 什么方法可以 像showModelDialog一样,子画面不关闭, 父画面不可以有任何处理的方法??
    那就只能用那种的弹出层,模拟窗口,弹出层里面用iframe来做
      

  6.   

    谢谢大家,我已经找到对应的方法实现模式窗口
          有文章说parameters 中有一个参数modal=yes(dialog=yes效果一样),如果设定即为模式窗口。但是经笔者测试,增加这个参数,只是使弹出的窗口的最大化按钮为不可用,只是和不加该参数的唯一区别。此时,同样可以操作父窗口。这并不是我想要的模式窗口,我想要的是子窗口弹出后,在子窗口不关闭的情况下是不能操作父窗口的。最后发现很简单的一句话就可以完成这个功能,在body中加入 onBlur="window.focus();" 即可。
     
          但是这样还是有问题的,子窗口的任何输入操作都是不被允许的,只有按钮可以点击。
     
          修改一下:
     
          var result= window.open("URL","window","width=600px,height=400px, modal=yes,status=no");
     
          window.onfocus=function (){result.focus();};
          window.onclick=function (){result.focus();};
     
          这样可以在点击父窗口的时候,将焦点赋予子窗口。 文章源:http://blog.csdn.net/strawbingo/article/details/4045742