关于window.showModalDialog的一些配置

关于window.showModalDialog的一些配置

一、window.showModalDialog的滚动条

其实纵向滚动条很好去掉,难办的就是横向滚动条。在Firefox下如果window.showModalDialog宽度设置恰当是不显示横向滚动条的,但在IE下,既然你设置了scroll:0或者如其他人所说的在目标页面中增加overflow:scroll;overflow-x:hidden样式都是没有效果的。对于一些追求完美的开发人员来说,这的确是个头大的事,其实,有个很简单的方法,能很方便的去除横向滚动条的,只需要在目标页面的body上设置宽度并且只要比window.showModalDialog的宽度要小就不会出现滚动,代码如下:

  1. body {
  2. margin:0;
  3. padding:0;
  4. width:910px;
  5. }

嘿嘿,既方便又好使

二、关于在IE下window.showModalDialog中的链接新窗口打开的问题

把如下代码加到目标页面的<head>中即可

  1. <basetarget="_self">
  2. </base>

三、window.showModalDialog缓存问题

对于IE下的window.showModalDialog的缓存那是相当的强劲,有时既然你把服务重启、浏览器重启啥的都不好使,而且又不方便。有时需要window.showModalDialog里面的内容时常更新,其实有个小技巧,只要加个变化的参数,使其每次请求的url参数不一样,那么就不会有缓存的问题了。代码如下:

  1. function generateExaminationPaper(uuid) {
  2. window.showModalDialog("GenerateExaminationPaper.do?uuid=" + uuid + "&t=" + new Date().getTime(), window, "dialogWidth:930px;dialogHeight:700px");
  3. }

最后面的参数 t 是最主要的,因为每次请求时这个new Date().getTime()的值都会不一样,这样请求的URL就会不一样,自然就会避免缓存带来的困扰

原文地址:https://www.cnblogs.com/hsuchan/p/3363981.html