如何在javascript中提示窗口位置,以便在window.open或window.moveto中使用

How to prompt window position in javascript for use in window.open or window.moveto?

本文关键字:window open moveto javascript 提示窗口 位置      更新时间:2023-09-26

对于编程任务,我想提示用户输入两个参数,positionX和positionY,这样每当打开新窗口时,就会弹出一个带有(x,y)位置的新窗口。到目前为止,我尝试了几种选择,但我不明白我做错了什么。这可能是我的语法,因为我对JavaScript还很陌生。

我的老师告诉我这个位置不对。

我的代码:

<html>
    <head>
        <script type ="text/javascript">
            function openVenster(){
                //vraag de breedte van het venster op
                var breedte = prompt("Geef de horizontale lengte van het nieuwe venster op (minimaal 100 pixels): ", 100);
                //vraag de hoogte van het venster op
                var hoogte = prompt("Geef de verticale lengte van het nieuwe venster op: (minimaal 100 pixels): ", 100);
                //vraag de x,y posities op waarop het venster moet verschijnen
                var positieX = prompt("Geef de positie ten opzichte van links op in pixels: ", 10);
                var positieY = prompt("Geef de positie ten opzichte van de bovenkant op in pixels: ", 10);
                //open het venster en gebruik ingevoerde posities
                mijnVenster = window.open("http://google.nl","mijnVenster","width=breedte,height=hoogte,scrollbars=no,status=no");
                mijnVenster.moveTo(positieX,positieY);
            }
            function sluitVenster(){
                //sluit het venster
                mijnVenster.close();
            }
        </script>
    </head>
    <body>
        <h1>Een JavaScript om een venster te openen en te sluiten</h3>
        <!--
        //weergeef de knoppen
        -->
        <button onclick="openVenster()">Nieuw venster</button>
        <button onclick="sluitVenster()">Sluit venster</button>
    </body>
</html>

我找不到错误,但也许你的老师想要:

mijnVenster.moveTo(positieX + 10, positieY + 10);

编辑根据您的附加问题:是的,可以在开口内完成:

mijnVenster = window.open("http://google.nl","mijnVenster","left="+positieX+",top="+positieY+",width="+breedte+",height="+hoogte+",scrollbars=no,status=no");

请注意,当将变量传递到字符串中时,您必须这样做:

var myVar = 30, str = "A string will get here: my variable";
var newStr = "A string will get here:" + myVar + " my variable";

已在此处更新FIDDLE。CCD_ 1被移除。

您需要等待窗口完成加载,然后才能移动它。

mijnVenster = window.open("http://google.nl","mijnVenster","width=" + breedte + ",height=" + hoogte + ",scrollbars=no,status=no");
            mijnVenster.onload = function(){mijnVenster.moveTo(positieX,positieY);};