2011-05-12 114 views
0

我使用下面的代码:设置top.location并打开新标签页?

$('a[href*="somelinktext"]').click(function(e) { 
     e.preventDefault(); 
     top.location = "http://www.example.com"; 
    }); 

是否可以打开一个新窗口/标签与此链接点击?

回答

2

使用window.open而不是top.location

+0

是的,但请注意,在IE和Safari浏览器中,链接宁愿在新窗口中打开。只要选项卡首选项设置为创建新选项卡而不是Windows,所有其他浏览器都将工作。 – Raybiez 2011-05-12 06:34:20

3

要打开一个新标签页/窗口(取决于用户的浏览器设置),只需添加target属性即可。要更改当前选项卡的顶级框架的位置,您确实需要一个onclick处理程序。

$('a[href*="somelinktext"]').each(function() { 
    $(this).attr('target', '_blank') 
}).click(function(e) { 
    top.location = 'http://www.example.com'; 
}); 

但是,如果你想打开一个新的标签,只是留在target ATTR:

$('a[href*="somelinktext"]').each(function() { 
    $(this).attr('target', '_blank') 
}); 

你也可以将它设置在HTML代码本身,但:

<a href="..." target="_blank">blah</a> 

(它也支持顶级框架_top

+0

呃..我也会说'target =“_ blank”',但我记得HTML5规格说它已被弃用。在重新阅读说明书后,我发现它不再被弃用,因为“a和area元素的目标属性不再被弃用,因为它在Web应用程序中很有用”。 +1 – 2011-05-12 06:38:51

+1

我仍然不会使用它。如果他们可以决定的话,那么它就更加友好,现在大多数人(除了一些秘书等以外)知道如何使用鼠标中键。 – ThiefMaster 2011-05-12 08:05:51

0

我认为你可以使用window.open函数。

谢谢

相关问题