我在使用某些 JavaScript 和 window.open 方法时遇到问题。
我试图根据当前时间控制弹出窗口的大小。小时控制高度,分钟(四舍五入到最接近的五)控制宽度。
高度控制工作正常,并且对应于正确的值...但是宽度始终为屏幕的 100%,我不知道为什么。
我已经放置了一个测试警报来显示应该放入 window.open 方法中的文本,这看起来很好 - 事实上,如果我将警报中的文本复制并粘贴到代码中并重新加载页面,那么高度和宽度都可以正常工作。看起来很奇怪。
这是我的代码...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Untitled</title>
<meta name="generator" content="BBEdit 10.1" />
<script type="text/javascript">
var d = new Date();
var h = 10*(d.getHours())+300
var m = d.getMinutes();
m = 10*(Math.round(parseInt(m)/5)*5)+300;
var a = "width=";
var b = ", height=";
var size = "'"+a+m+b+h+"'";
var openWin = function(){window.open('','',size)};
function test() {alert(h); alert(m); alert(size);}
</script>
</head>
<body onload="test()">
<input type="button" value="Open Window" onclick="openWin()" />
</body>
</html>
最佳答案
您对尺寸有报价。
你想要什么:
var size = a+m+b+h;
window.open('','',size)
或者
window.open('','', 'width=' + m + ', height=' + h)
您当前拥有的内容(用实际大小替换后):
window.open('','','"width=' + m + ', height=' + h +'"')
其计算结果为:
window.open('','','"width=500, height=450"')
关于Javascript window.open 大小无法正常工作。高度还可以,宽度有点乱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12134299/