我正在尝试使用用户按下的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>
谢谢!
答案 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);
}
但我不得不改变很多代码......