我尝试了以下从here获得并稍加修改的简单弹出式代码 -
<!-- 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个属性在任一浏览器上都显示相同的行为。
答案 0 :(得分:1)
重要的是这些设置是浏览器的建议。浏览器供应商可能会选择让浏览器忽略它们。某些供应商(包括Mozilla)允许用户定义是否忽略某些设置(请参阅MDN's window.open
page上的各种说明)。
您可以通过在this other answer这里描述的方式设置生成的文档(如果SOP没有发挥作用),但是如果浏览器正在提供位置并在您调整时调整大小,则可以避免使用滚动条告诉它没有,你真的没有别的办法 - 使用弹出窗口。
您可以考虑在当前窗口中使用绝对定位的元素,这几乎是现代弹出窗口的方式。您加载Facebook的具体示例可能要求您使用iframe
(并可能尝试逃避它)。