showModalDialog 窗口自适应宽度与高度

作者:vkvi 来源:ITPOW(原创) 日期:2009-2-16

我们希望 showModalDialog 弹出的窗口刚好显示完页面内容,这样就不会也不需要出现滚动条。

在 Firefox 中,无法通过 dialogWidth 和 dialogHeight 来改变窗口大小,IE 中却可以,但由于 Firefox 认为 dialogWidth 和 dialogHeight 仅是内容区,而 IE 中还包括了标题栏等,所以我们就有了变通的解决办法。

  • 首先在 Firefox 环境下调试,让内容刚好显示完。
  • 然后,我们再增大 dialogWidth 和 dialogHeight。由于 IE 中指定的 dialogWidth 和 dialogHeight 还包含了标题栏等,所以 IE 中肯定是没有显示完的。
    window.dialogHeight = (parseInt(window.dialogHeight) + (document.body.scrollHeight - document.body.clientHeight)) + "px";

宽度也是类似道理。注意:要把上述代码放在 window.onload 事件处理程序中执行,也就是说由 window.onload 去触发上述代码。

在 Firefox 中,为 window.dialogHeight 设置新值,不会出错,只是没效果罢了,所以以上代码在 Firefox 中也不会报错。放心地用。

相关阅读

相关文章