为什么在谷歌浏览器弹出窗口显示在不同的位置,然后在Firefox和IE浏览器中

时间:2014-05-20 13:59:12

标签: javascript html internet-explorer google-chrome firefox

我用jjave函数打开一个新窗口:

我的index.htm页面有3个链接:

<body>
    <div class="nav">
        <a href = "javascript:openContent('jobsearch.htm', 875, 1300, 0, 300)">Job Search</a><br />
        <a href = "javascript:openContent('details.htm?page_id=7&details_id=7',875, 1300, 0, 300)">Job Details</a><br />
        <a href = "javascript:openContent('apply.htm?page_id=10&details_id=7', 875, 1300, 0, 300)">Apply</a><br/>
    </div>
</body>

我的openContent功能:

function openContent(url, width, height, top, left) 
{
   var win;
   win = window.open(url, 'content', "toolbar=no, titlebar=no, status=no, scrollbars=no, resizable=no, top=" + top + ", left=" + left + ", width=" + width + ", height=" + height + "\"");
   win.focus();
}

单击index.htm页面中的链接时,我打开某个页面,在firefoxIE上,窗口在同一位置打开,但在chrome上它会在最左侧打开在页面上的位置。

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

您应尽量避免使用原生弹出窗口,原因如下:

  1. 许多浏览器默认阻止它们。
  2. 每个浏览器以不同的方式呈现它们。
  3. 他们通常被认为是烦人的。
  4. 一个好的替代品是jQuery UI Dialog,它可以让你更好地控制它的呈现方式。

    但是,如果您坚持使用原生弹出窗口,可以尝试moveTo功能,例如:

    function example() {
        var win = window.open("http://stackoverflow.com/", 'content', "toolbar=no, titlebar=no, status=no, scrollbars=no, resizable=no, width=500, height=500");
        win.focus();
        win.moveTo(50, 50);
    }
    

    在最新版本的Firefox,Chrome和IE中,它对我有用。