window.open命名窗口在每次单击时打开新窗口

时间:2016-10-26 23:24:08

标签: javascript html

在使用window.open()启动窗口时,每次按钮点击都会启动一个新的浏览器实例,即使调用函数具有命名窗口。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <script type="text/javascript">
        function OpenNamedWindow() {
            var w2 = window.open("http://stackoverflow.com", "myWindow", "width=500px;height=500px");
        }
    </script>
    <input type="button" onclick="OpenNamedWindow();" value="Launch App" />
</body>
</html>

当我尝试访问window.name时启动页面后,它显示为空。

我做了一些搜索,看起来像跨域导致了这个问题。

如何在同一个实例中加载页面而不是一直启动新的浏览器窗口?

2 个答案:

答案 0 :(得分:0)

这是一个技巧

function openInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}

但即使这样,也许不应该在所有浏览器中工作,具体取决于用户配置

此主题仍在stackoverflow中。

尝试通过以下链接自行检查

Open a URL in a new tab (and not a new window) using JavaScript

答案 1 :(得分:0)

一次只打开一个窗口:

var window_name = null; // global
...
function open_new_window() {
    if (window_name && !window_name.closed) {
        window_name.close();

    window_name = window.open(....);
}