无法使用Javascript打开新窗口

时间:2016-06-20 22:36:16

标签: javascript window

我正在尝试使用用户按下的javascript按钮创建一个弹出新窗口的按钮。该按钮显示在网站上,但按下它时没有任何反应。我在Chrome和Firefox中尝试过它。我无法弄清楚它是否是浏览器设置或代码错误。

<button onclick="window()">Reminisce</button>

<script type="text/javascript">
function window() { 
    var w = window.innerWidth;
    var h = window.innerHeight;
    var rw = Math.random()*w)+1);
    var rh = Math.random()*h)+1);

    var popup = window.open('http://www.roberthayeskee.com/bush2.html,'_blank','width=rw,height=rh');
}
</script>

谢谢!

2 个答案:

答案 0 :(得分:3)

window是表示当前浏览器窗口的全局对象,不能使用自定义函数覆盖。

当您按下按钮时,浏览器控制台中会出现类似于以下内容的错误消息,因为window是一个对象,而不是一个可调用的函数:

Uncaught TypeError: window is not a function

您应该重命名您的功能,例如到openWindow

此外,在函数可能有效之前,需要解决上述注释中描述的语法错误。

修改:如评论中所述,您似乎可以覆盖window对象。这仍然不意味着你应该,它也会打破你读取内部高度/宽度的行:

var w = window.innerWidth;

答案 1 :(得分:2)

除了TimoSta的回答,您的代码还充满了语法错误和拼写错误。您可能需要以下内容:

https://jsfiddle.net/hsfcc8sp/4/

function openWindow() { 
  var w = window.innerWidth;
  var h = window.innerHeight;
  var rw = Math.random()*w+1;
  var rh = Math.random()*h+1;

  var popup = window.open('http://www.roberthayeskee.com/bush2.html','_blank','width=' + rw,'height=' + rh);
}

但我不得不改变很多代码......