在开始这篇文章之前,还是先说点不相干的,最近博客多了不少emacs的文章,并不是我(dante)从Vim转向emacs了,而是由于本博目前是有三个作者的(dante、ian、lr),而ian是用emacs的,所以本着linux本是一家的原则,会把我们的心得都放在这个博客里和大家共享。
呵呵,好啦,闲话不多说,进入正题。
最近在做流程系统的时候,发现用showModalDialog来限制用户焦点及流程的确是不错的方法,不过在使用中也发现了两个问题:
1.showModalDialog打开的窗口中,如果是调用form表单或者其他需要重新生成页面的操作,一定会打开新窗口
2.showModalDialog打开的窗口中是无法刷新的
最近在做流程系统的时候,发现用showModalDialog来限制用户焦点及流程的确是不错的方法,不过在使用中也发现了两个问题:
1.showModalDialog打开的窗口中,如果是调用form表单或者其他需要重新生成页面的操作,一定会打开新窗口
2.showModalDialog打开的窗口中是无法刷新的
感谢google大神的协助,总算让我找到了答案
1.通过frame页来装载页面
例如,需要原来的调用是
例如,需要原来的调用是
window.showModalDialog("a.html")
我们只需要新建一个页面b.html:
<frameset rows="0,*">
<frame src="about:blank">
<frame src="a.htm">
</frameset>
然后将原来的调用改成:
window.showModalDialog("a.html")
实际上b.html可以做成一个通用的页面,通过传入的url来决定frame内的页面url,不过要记得urlencode
2.在刷新这个问题上,我试过无数方法,包括history.go(0) 和 location.reload() 都没有办法实现,后来在一篇文章上偶尔发现用:
location.replace(URL)
居然可以实现,不过代价就是向前操作不可用了(本来就不可用……)
原文链接如下:
http://blog.csdn.net/sgear/archive/2008/07/23/2695298.aspx
再之后发现还有其他几种刷新方式,不过由于问题已经解决,所以就没有再去试了:
原文链接如下:
http://blog.csdn.net/sgear/archive/2008/07/23/2695298.aspx
再之后发现还有其他几种刷新方式,不过由于问题已经解决,所以就没有再去试了:
history.go(0)
location.reload()
location=location
location.assign(location)
document.execCommand('Refresh')
window.navigate(location)
location.replace(location)
document.URL=location.href
OK,就这样~~
MadPer on #
看出dante先生在前三行表现出的无奈了...话说,其实ian也有自己的主页吧?好像进去看过,不过是英文的...
Reply
ian on #
这个……不知道你找到的是哪位大神的主页,我目前暂时还没有自己专门的技术博呢,现在只是在博主这里打打酱油
还得感慨一下,Emacs和Vim在一起就是容易引起争议啊
Reply
MadPer on #
嗯,我在emacser.com看到有个人叫ian,点开是个网页,上面还写着Do it, ian,地址是http://www.doitian.com/
我想起来之前IRC上一个人说的话:任何对VIM或者Emacs的功能的讨论终将变为vim及Emacs间的论战.
刚才去了那个网站看了下,好像是lan...我有一次没有分清I和l...
Reply