2012-04-29 83 views
0

对于某些浏览器(并取决于设置),与target =“_blank”的链接似乎在前台打开,但对于其他许多浏览器似乎在后台打开。有没有办法确保在前台打开target = _blank链接?

在我的情况下,在前台打开的是用户打开链接时想要的内容,所以如果有方法可以确保这一点,那将会很不错。有没有办法做到这一点?谢谢。

+0

Vlad - does [Sérgio](http://stackoverflow.com/users/383868/sergio-carvalho)下面的解决方案为您解决它(它对我来说)吗?如果是这样,将其标记为答案可能很有用。 – dumbledad

回答

1

您可以尝试使用window.focus()将新窗口置于前面。你可以这样做在打开的文档,使用jQuery,有:

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

或原始文件:

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

需要的setTimeout的,以便有时间窗口被实际创建浏览器。可能有一个更清晰的方法来实现这一点,但setTimeout应该做到这一点。

+0

我已经制作了一个小书签,用户可以将其拖入他们的收藏夹栏并用于本质上书签站点。我的代码使用['window.open(...)'](http://developer.mozilla.org/en/DOM/window.open),但生成的新窗口会立即从浏览器的打开实例后面小书签被点击。尽管我没有使用target =“_ blank”,但这与上面的@Vlad声明的相同,Sergio的JavaScript解决方案已经修复了它。谢谢。 – dumbledad

2

没有办法确保这些链接在前台打开。这是浏览器安排的内容,没有什么可以改变的。

但是,您可以通过忽略目标属性在同一窗口中打开链接,以确保点击该链接的用户立即看到该页面。在某种程度上,这也是“更好的”,因为它让用户可以选择在新窗口中打开链接。

相关问题