有没有办法确保目标=_blank链接在前台打开

Is there a way to make sure target = _blank links open in foreground?

本文关键字:链接 前台 blank 确保 目标 有没有      更新时间:2023-09-26

对于某些浏览器(取决于设置),带有target = "_blank"的链接似乎在前台打开,但对于许多其他浏览器,它似乎在后台打开。

在我的情况下,在前台打开是用户点击链接时的意图,所以如果有办法确保这一点,那就太好了。有没有办法做到这一点?谢谢。

无法

确保这些链接在前台打开。这是浏览器安排的内容,您无法对其进行任何更改。

但是,您可以通过省略目标属性在同一窗口中打开链接,这将确保单击链接的人立即看到该页面。在某种程度上,这也是"更好的",因为它将在新窗口中打开链接的选择留给了用户自己。

您可以尝试使用 window.focus() 将新窗口置于前面。您可以使用jquery在打开的文档上执行此操作,使用:

$(function() {
    window.focus();
});

或从原始文档:

var newWindow = window.open(url);
window.setTimeout(function() { newWindow.focus(); }, 1000);

需要 setTimeout 来留出时间让浏览器实际创建窗口。可能有一个更干净的方法来实现这一点,但 setTimeout 应该这样做。