我的网页上有一个按钮,如果我的访问者来自移动设备,则会打开一个新标签。
代码:
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);
}
答案 0 :(得分:0)
您是否尝试过使用窗口名称属性?
来自MDN:
strWindowName
新窗口的字符串名称。可以使用该名称 作为使用目标属性的链接和表单的目标 或元素。名称不应包含任何空格 字符。请注意,strWindowName不指定标题 新窗口。
所以修改你的代码如下
if (navigator.userAgent.match(/(iPhone|iPod|iPad|BlackBerry|Android|IEMobile)/)) {
window.open(the_URL, 'newWindowName');
}