2

当我执行 window.open() 时,有没有办法告诉浏览器停留在当前窗口或选项卡上,而不是转到新的选项卡或窗口?

4

3 回答 3

3

使用_self目标。

window.open("http://www.example.com", "_self");

还可以阅读Mozilla 文档或其他可靠来源。

对于基本的 Javascript 命令,我会选择W3Schools,尽管它与 W3C 无关,但它提供了易于理解的信息和基本上任何 JS 方法的示例。

拥有多个信息来源总是有益的,您也可以随时使用 Google。

于 2012-05-08T01:30:05.763 回答
2

如果您的目标是使用当前窗口,您可以简单地使用:

window.location

但是,如果您想打开一个子窗口并将焦点留在父窗口上,我认为您会发现这很困难,因为opener.focus()我读过并非在所有浏览器中都有效。

请参阅这些 SO 问题以供参考:

防止 window.open 聚焦

如何使用javascript将焦点返回到父窗口?

于 2012-05-08T01:37:30.850 回答
2

发现一种方法是使用self.focus()从原始窗口调用的javascript。从阅读该讨论中得到这个:Prevent window.open from focus

所以我的代码看起来像这样。

    $.ajax({ 
        url : "filename.php", 
        dataType: "html", 
        success : function (data) { 
            $('#div').html(data);
            $('#div2').css('visibility','hidden');
        } 
    });

    var external_window = window.open(url,'_blank');
    self.focus();
于 2012-05-08T02:16:54.950 回答