IE11中点击含onclick="return PopupDocument(...)"的链接时新弹窗无法调整大小
解决IE11弹窗无法调整大小的问题
嘿,这个问题我之前在项目里碰到过,IE11对window.open的参数处理逻辑和Chrome等现代浏览器差异不小,咱们一步步来解决:
问题根源
你用的PopupDocument函数应该是封装了原生的window.open方法。在IE11中,如果没有明确指定resizable=yes,弹出的窗口默认会被锁定大小,无法调整;但Chrome等现代浏览器默认允许用户调整弹窗大小,所以才会出现这种跨浏览器的差异。
解决方案
方案1:修改PopupDocument函数实现
找到你的PopupDocument函数定义,在调用window.open时添加上resizable=yes参数。举个例子,如果原来的函数是这样的:
function PopupDocument(url, name, width, height) { const windowParams = `width=${width},height=${height}`; window.open(url, name, windowParams); return false; }
修改成:
function PopupDocument(url, name, width, height) { const windowParams = `width=${width},height=${height},resizable=yes`; window.open(url, name, windowParams); return false; }
方案2:直接替换为原生window.open(如果无法修改原函数)
如果PopupDocument是第三方库提供的、你没法修改源码,那就直接在链接的onclick事件里用原生方法,明确指定所有必要参数:
<a href="你的文档链接" onclick="window.open(this.href,'myPop1','width=630,height=420,resizable=yes'); return false;">点击打开文档</a>
额外说明
IE11对window.open的参数兼容性要求很严格,很多参数都需要显式声明才会生效,不像现代浏览器有合理的默认值。除了resizable,如果还有其他弹窗需求(比如是否允许滚动条、是否显示地址栏),也可以在参数里补充对应的配置,比如scrollbars=yes、location=no等。
内容的提问来源于stack exchange,提问作者rachakonda praneeth
相关产品推荐
相关产品推荐

