在使用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时启动页面后,它显示为空。
我做了一些搜索,看起来像跨域导致了这个问题。
如何在同一个实例中加载页面而不是一直启动新的浏览器窗口?
答案 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(....);
}