如何将变量传递给'window.open'?

时间:2012-08-26 19:19:19

标签: javascript variables popup size window.open

我在JavaScript中使用window.open操作时遇到了一些问题,并且可以使用一些指针(我已经到处搜索了!)。我想将宽度和高度设置为我之前定义的变量值(并根据它的时间设置)。这是代码:

<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 = d.getHours();
var m = d.getMinutes();

m = Math.round(parseInt(m)/5)*5;

var x;
var y;

function test() {getY(); getX(); alert(h); alert(m); alert(y); alert(x);}


function getX() {

if (m==0)
    {x=200;}
else if (m==5)
    {x=210;}

***CONTINUED DOWN TO:

else if (m==50)
    {x=290;}
else
    {x=300;}
}


function getY() {

if (h==0)
    {y=200;}
else if (h==1)
    {y=210;}


***CONTINUED DOWN TO:

else if (h==22)
    {y=420;}
else
    {y=430;}

}


var openWin = function(){window.open('','','width=x,height=y')};

</script>

</head>
<body onload="test()">
<input type="button" value="Open Window" onclick="openWin()" />
</body>
</html>

我在加载时设置了一些警报来检查变量是否正确设置,它们是......所以我不知道问题是什么!如果我在window.open语句中输入数字,它也能正常工作。

2 个答案:

答案 0 :(得分:2)

'width=x,height=y'是一个字符串。 x是一个字符,而不是一个变量。

您希望将变量的连接到字符串中:

"..." + x + "..."

答案 1 :(得分:0)

尝试完代码后,我找到了一个可能的问题解决方案。 更改您的代码以便该功能

  

getX()返回x

  

getY()返回y

然后更改函数window.open()的参数:

var openWin = function(){window.open('','','width='+ getX(),'height=' + getY())};