2007-09-15
真正的用window.open()代替window.showModalDialog()
关键字: js模式窗口太过于局限性,所以我研究了一个完全可以用window.open()代替window.showModalDialog()的方法,其资料贴在了下面:
有两个页面,一个是调用页面---main.html,一个是被调用页面---modalWindow.html
main.html
--------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------
modalWindow.html
------------------------------------------------------------------------------------------------------------------------------------
sub window!!!!
在这个页面modalWindow.html中的方法可以调用父窗口的方法
其用法是 opener.functionName(param);
- 11:52
- 浏览 (7901)
- 评论 (14)
- 分类: JS(javaScript)
- 进入论坛
- 相关推荐
评论
icefire
2008-05-23
今天也在搞这问题,最后还是放弃open()
"兼容FF,IE等多种浏览器"
你不想想,标签浏览时,恐怕很多时候open()无法满足效果吧!
要兼容的话,那还是只有div来遮盖吧!
"兼容FF,IE等多种浏览器"
你不想想,标签浏览时,恐怕很多时候open()无法满足效果吧!
要兼容的话,那还是只有div来遮盖吧!
ddh9504
2007-10-09
为了兼容FF,IE等多种浏览器,我觉得这种方案有必要的,还有,用IFRAME或者DIV也可以实现,这点不可否认。但技术的替代不能抹杀另一种技术的存在,谢谢!!!
ddh9504
2007-09-29
hunter_z 写道
能不能说一下,你为什么有这种需求?
老兄,用open()代替showModalDialog()是有这个需求的,你现在没有用到,以后可能会用到,这也不是算钻牛角吧,应该是对技术一种狂热,说不定还有高手能给出更合理的解决方案呢,我拭目以待.....
InnocentBoy
2007-09-26
我也遇见过这个中问题,有些元素在showmodaldialog里不支持,比如WEBBrower打印,但是在window.open()里就支持!
D-tune
2007-09-26
在目前用div来替代模态对话框以前,很多企业应用webAPP的场合,绝大部分都采用了modalDialog,lz的观点从何而来,好处在什么地方?
liangwj72
2007-09-25
不会吧,我见到更多的讨论是如何用showModalDialog() 代替open()...
oooooo
2007-09-22
open后再给原窗口加层遮罩
pazu
2007-09-22
open() 不可能代替 showModalDialog()
这样做是钻死胡同牛角尖.
唯一方法:可以通过iframe或DIV在同一个Window实现
http://www.laputac.com/tech/
这样做是钻死胡同牛角尖.
唯一方法:可以通过iframe或DIV在同一个Window实现
http://www.laputac.com/tech/
afcn0
2007-09-20
可以看一下,我以前写的一个使用html弄出来的modaldialog, http://hi.baidu.com/afcn007/blog/item/fe05e91bbfa774d7ad6e7515.html 有2个button,函数当中传入2个function当参数
jellyme
2007-09-20
这种模拟是不会成功的。。。
你可以试试快速点击父窗口,JS响应速度没那么快,很容易就点出问题了。
真正能够解决Dialog问题的方案只有一个,那就是Float Iframe,用Iframe代替Window.open(),用DIV来做遮罩,控制模态。而且,这样做还有另外一个好处,那就是处理窗口间的关系变得异常容易。用户也不容易ganjue到自己被打扰了——因为你可以让Iframe加载完成时再显示出来,甚至可以加上一些特效,使得Iframe的浮出更加柔和自然。
你可以试试快速点击父窗口,JS响应速度没那么快,很容易就点出问题了。
真正能够解决Dialog问题的方案只有一个,那就是Float Iframe,用Iframe代替Window.open(),用DIV来做遮罩,控制模态。而且,这样做还有另外一个好处,那就是处理窗口间的关系变得异常容易。用户也不容易ganjue到自己被打扰了——因为你可以让Iframe加载完成时再显示出来,甚至可以加上一些特效,使得Iframe的浮出更加柔和自然。
Lucas Lee
2007-09-18
而且还有一种情况是比较容易忽略的,不知道你考虑没有:
父窗口弹出模态窗口A,A再弹出模态窗口B,如此多级模态窗口,关闭窗口也只能反向一层层关闭。
父窗口弹出模态窗口A,A再弹出模态窗口B,如此多级模态窗口,关闭窗口也只能反向一层层关闭。
birdjavaeye
2007-09-17
一种思路吧:因为要阻止原窗口响应各种事件,可以把所有的事件回调都解除绑定,modal窗口关闭后再恢复;或者利用某些框架性代码,代理事件回调,代理时判断是否有modal窗口存在...
ddh9504
2007-09-17
哦,谢谢,请问楼上的朋友,这样的情况该怎么处理呢,请多指教.....
birdjavaeye
2007-09-15
我还没试过,但初步判断这样不够,因为window.onfocus=..等方式是bubble的,被点击的实际元素如果有onclick就先处理了,不能真正等同于modal
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 26629 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
我的相册
图像005
共 8 张
共 8 张
最近加入圈子
链接
最新评论
-
一个jfreechart的例子
kan kan 我的项目正需要
-- by discovery12 -
真正的用window.open()代 ...
今天也在搞这问题,最后还是放弃open() "兼容FF,IE等多种浏览器" 你不 ...
-- by icefire -
DWR又一例级联(省份-城 ...
我想问下,为什么不用dwr中util.js的方法来生成呢?不是更好用点吗,而且代 ...
-- by hxdream -
一个关于ajax的例子(proto ...
hehe谢了
-- by shiren1118 -
一个关于DWR的例子
Run 写道 <script type='text/javascript ...
-- by sway






评论排行榜