日期:2014-05-16  浏览次数:20512 次

以模式窗口的方式打开新的窗口,顶者有分,不够再加
我现在使用js这么写的
 var lx = window.showModalDialog("../SelectDic.aspx?flag="+flag+"&select=1&hinput=3&hname=2&url="+document.all("HiddenUrl").value, "字典选择", "dialogWidth=850px;dialogHeight=500px");
能打开窗口,在IE8下是正常的,打开的窗口是模式窗口,父窗口不可获得焦点,但是用火狐,谷歌,360打开的时候,就不是模式窗口,父窗体还可操作,这个应该怎么弄呢,jquery有没有什么办法,本人对js不是多熟,jquert没弄过,是被临时抓来调兼容性的,各位大神给点指点应该怎么弄

------解决方案--------------------
帮顶,
https://developer.mozilla.org/en-US/docs/Web/API/Window.showModalDialog
------解决方案--------------------

------解决方案--------------------
模态窗口只有ie支持
最好能拿js模拟出来 
------解决方案--------------------

------解决方案--------------------
用层模拟就行了,弹出层的时候显示一个绝对定位的层遮盖窗体的内容,就是所谓的lightbox效果

------解决方案--------------------
你如果将window换成top呢,看行不行
------解决方案--------------------
层模拟是王道,有很多demo
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

showModalDialog支持要依靠浏览器

用层模拟就行了,弹出层的时候显示一个绝对定位的层遮盖窗体的内容,就是所谓的lightbox效果

可以参考这2个

tipsWindown

ymPrompt

弹出层现在不大符合现在的需求,这是个以前的项目,很多页面都用到这个这个弹出窗口,弹出的还是同一个页面,做成层的话不大合适,就是想让showModalDialog这种能兼容浏览器,或者是类似的实现方式,


那只能同情你了,低版本的firefox连showModalDialog都不支持。。那你要怎么弄。。O(∩_∩)O哈!

这真是个问题,好多页面都用到这个窗口,都写在层里面,放到每个页面,也不大现实,工作量太大了,有没有类似打开这个窗口后在父窗口弄上一个层,和弹出层那种效果似的,只不过不是弹出层,而是弹出窗口


用tipsWindown这个就行了吧,可以用iframe加载你指定的地址,不过要和主页面交互的js代码要修改一下,showModalDialog是通过dialogArgument操作,iframe就是通过parent得到父页的引用。。iframe和父页,window.open打开页面之间的引用关系
------解决方案--------------------
B页面
后台:

        protected string ID;
        protected string Name;
        protected void Page_Load(* *, * *)
        {
            if(!IsPostBack){
                ID = Request["ID"] + "";
                Name = Request["Name"] + "";
           &