Pop Window的属性在Javascript中没有改变

Pop Window's attributes not changing in Javascript

本文关键字:改变 Javascript Window 属性 Pop      更新时间:2023-09-26

我尝试了从这里获得的以下简单的弹出代码,并稍作修改-

<!-- sample.html -->
<script type="text/javascript">
// Popup window code
function newPopup(url) {
    popupWindow = window.open(
        url,'popUpWindow','height=400,width=400,left=10,top=10,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=no')
}
</script>
<a href="JavaScript:newPopup('http://www.facebook.com/zuck');">Open a popup window</a>

当我运行它时,一个弹出窗口按预期出现。但是滚动条和 URL 非常多,即使我已经resizable=no,scrollbars=no,location=no,我也可以轻松调整窗口大小

为什么对这些属性的更改没有反映在生成的弹出窗口中?

奇怪的是scrollbar属性正确反映在Mozilla 10.0.4而不是Google Chrome 19.0.1084.56

但其他 2 个属性在任一浏览器上显示相同的行为。

这里重要的是这些设置是对浏览器的建议。浏览器供应商可以选择让浏览器忽略它们。一些供应商(包括Mozilla)允许用户定义是否忽略某些设置(请参阅MDN window.open页面上的各种注释)。

您可以通过设置生成的文档样式来避免滚动条,如此处的另一个答案中所述(前提是 SOP 没有发挥作用),但如果浏览器在您告诉它不要提供位置和调整大小时,您真的无能为 力——使用弹出窗口。

您可以考虑在当前窗口中使用绝对定位的元素,这几乎是执行弹出窗口的现代方式。但是,加载Facebook的特定示例可能需要您使用iframe(并且可能会尝试转义它)。