2009-06-09 214 views
1

正常情况下,如果我想强制链接在发布到我的博客时在新选项卡(或窗口)中打开,我必须使用链接GUI并选择“在新窗口中打开”,或者,因为我使用通过缺省HTML视图,插入一个链接后,手动添加“目标=”部分中的标签的:如何强制链接在新窗口中自动打开?

<a href="http://link.to/something.great" target="_blank">link text</a> 

是否有我可以使用自动插入所述目标属性的插件或钩的位置,还是我卡住手动做?

编辑:我正在寻找一种方法来修改链接,而我在编辑器中创建它。如果这是不可能的,那么在保存过程中可能会遭到破解。但我不想要一个“运行时间”的前端破解,这不一定是永久性的。

+3

请不要这样做。意想不到的新窗口最多是令人讨厌的,最糟糕的是令人困惑。另请参见http://www.useit.com/alertbox/990530.html&http://diveintoaccessibility.org/day_16_not_opening_new_windows.html – Quentin 2009-06-09 15:29:00

回答

1

如果您使用jQuery 1.3 +您可以轻松地做到这一点。下面这行JavaScript代码:

$("a:not([href^='http://your.website-url.here']").attr('target', '_blank'); 

只需添加这到load()事件的jQuery。

+0

这是一个好主意,但我希望能够将目标硬编码。所以这会起作用,但不适合我的用途。 :) – 2009-06-09 15:22:23

1

一种方法是修改你的functions.php文件。 See here for an example hook function.另一种是use jQuery.

+0

这也会起作用,但它又是一次运行时间破解,而不是“编译时”(缺少更好的表达)。 (我不介意一个黑客,只是不是这种;) – 2009-06-09 15:24:28

-2

你可以很容易地使用JavaScript来做到这一点。你是否想要在所有外部链接上设置目标?还是仅仅是帖子内的人?

无论哪种方式,这里的jQuery代码做到这一点:

$(document).ready(function(){ 
    $("#postBody a").attr('target','_blank'); 
}); 

假设你的帖子正文是ID为“postBody”一个div内。

相关问题