为什么火狐6忽略了我的高度,宽度,顶部和左侧设置在javascript窗口

Why is Firefox 6 ignoring my height, width, top and left settings in javascript window.open?

本文关键字:设置 窗口 javascript 顶部 宽度 我的 为什么 高度 火狐      更新时间:2023-09-26

有人能看出我的代码有什么问题吗?它在IE中表现正常,但火狐6似乎忽略了我通过javascript窗口的任何高度或宽度设置。打开电话。我看不出有什么明显的错误,但javascript不是我的第一语言,所以我可能在这个地方犯了一个新手错误。

这个函数的目的是在屏幕中央打开一个800x600的窗口,并在IE和Mozilla家族浏览器中以模式显示。

<html>
<head>
<script language="javascript" type="text/javascript">
    function openWindow(pageURL,Title,w,h) 
    {
        var left = (screen.width/2)-(w/2);
        var top = (screen.height/2)-(h/2);
        if (window.showModalDialog) {
            window.showModalDialog(pageURL,Title,'dialogWidth:' + w     + 'px,dialogHeight:'+ h + 'px,dialogTop:'+ top + 'px,dialogLeft:' + left + ',resizable=no');
        } else {
            window.open(pageURL,Title,"toolbar=no, location=no, directories=no,     status=no, menubar=no, scrollbars=yes,resizable=no,modal=yes,     copyhistory=no,width=" + w + ", height=" + h + ", top=" + top + ", left=" + left)
        }
    }   
</script>
</head>
<body>
<a href="javascript:openWindow('http://www.google.com','Google',800,600);">Launch</a>
</body>
</html>

只是为了澄清一点,该函数被设计用于测试ShowModalDialog的存在(假设只有IE支持它)并落在适当的窗口中。在所有支持W3C窗口的地方打开分支。命令,它实现了"模式"选项。这个想法是,如果ShowModalDialog被实现,那么它将使用,否则使用窗口。

showModalDialog:

中使用分号,不能使用逗号
<html>
<head>
<script language="javascript" type="text/javascript">
    function openWindow(pageURL,Title,w,h) 
    {
        var left = (screen.width - w) / 2;
        var top = (screen.height - h) / 2;
        var options;
        if (window.showModalDialog) {
            options = 'dialogwidth:' + w     + ';dialogheight:'+ h + ';dialogtop:'+ top + ';dialogleft:' + left + ';resizable=no';
            console.log(options);
            window.showModalDialog(pageURL, Title, options);
        } else {
            options = "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes,resizable=no,modal=yes, copyhistory=no, width=" + w + ", height=" + h + ", top=" + top + ", left=" + left;
            console.log("window.open options: " + options);
            window.open(pageURL, Title, options)
        }
    }   
</script>
</head>
<body>
<a href="javascript:openWindow('http://www.google.com','Google',800,600);">Launch</a>
</body>
</html>

showModalDialog()window的有效成员吗?我在文档中找不到。

编辑:我只是在谷歌上快速搜索了一下。showModalDialog不是W3C标准,也没有在Firefox中实现。 编辑:我错了。Firefox屈服了,开始支持它。