我的网页上有一个按钮,如果访问者来自移动设备,则该按钮会打开一个新标签。
码:
if (navigator.userAgent.match(/(iPhone|iPod|iPad|BlackBerry|Android|IEMobile)/)) {
window.open(the_URL);
}
如何检查访问者是否已从此链接获得打开的标签,并将访问者带回到打开的标签?
含义;我不想每次访问者单击此链接时都打开一个新选项卡。
任何想法如何做到这一点?
更新
我在Safari(台式机)中正常工作
var newWin;
if(newWin) {
try {
newWin.focus();
}catch(e) {
newWin = window.open(the_URL);
}
} else {
newWin = window.open(the_URL);
}
但是,它不会切换到iOS Safari上的其他选项卡。
更新2
试图先关闭窗口,然后重新打开它。但是
.close
似乎不起作用 if(newWin) {
setTimeout(newWin.close, 1000);
try {
newWin.close();
newWin.focus();
}catch(e) {
newWin = window.open(the_URL);
}
} else {
newWin = window.open(the_URL);
}
最佳答案
您是否尝试过使用窗口名称属性?
从MDN:
因此,如下修改您的代码
if (navigator.userAgent.match(/(iPhone|iPod|iPad|BlackBerry|Android|IEMobile)/)) {
window.open(the_URL, 'newWindowName');
}