要目标= _blank或不是target = _blank,这就是问题!

时间:2010-10-11 14:00:14

标签: html user-interface accessibility hyperlink

是否应该链接到外部网站设置target = _blank?例如。我在www.acme.net上有一个链接到www.otherplace.net,如果链接是:

  

< a href ='http:// www.otherplace.net'target ='_ blank'> otherplace的网站< / a>

或:

  

< a href ='http:// www.otherplace.net'> otherplace的网站< / a>

我的印象是,使用_blank到域外的网站是最好的做法,但现在我被告知了。

8 个答案:

答案 0 :(得分:17)

一些网络理想主义者会说你应该允许用户在导航时做出自己的选择 - 我对这个观点有很多的同情。作为Web开发人员,我们不应该强迫我们的访问者做出这样的决定。

但是,我也知道企业通常希望“保留控制权”,因此坚持要为外部网站生成新的标签/窗口。我也理解这一点 - 这是一种非常实用的方法,特别是考虑到有多少用户不知道如何控制自己的UA。

我经常倾向于在两者之间引导中间路线,通过添加图像(我相信你会在你的时间里看到很多)来指示哪些链接是外部的,并且一个注释,表示外部链接将在新标签/窗口中打开。

不像第一个选项那样“纯粹”,但至少用户可以清楚地了解网站的行为。

答案 1 :(得分:10)

在w3c网站上发现了这个

  

本节中的检查点:

     

•10.1直到用户代理允许用户访问   关闭衍生的窗户,不要造成   弹出窗口或其他窗口出现和   不要改变当前窗口   没有通知用户。 [优先   2]内容开发者应该避免   将新窗口指定为目标   目标=“_空白”的框架。

More info here

您需要询问您的客户的问题是“您希望达到什么优先级?”

答案 2 :(得分:4)

我认为这完全取决于您的使用案例。

如果您要在其他域中打开某个网站并且需要保持您的网站处于打开状态,并且我认为在大多数情况下您都这样做,那么请使用target ='_ blank'。

作为用户,当我点击指向另一个域的链接时,我发现它很烦人,它让我从原始域移开。 当然,在大多数浏览器中使用ctrl + click是一种防范这种情况的方法 - 但为什么要让用户做更多工作呢?

答案 3 :(得分:3)

值得一提的是,使用target属性不是xhtml有效。我通常在外部窗口或标签中打开链接,因为我发现大多数普通用户(不是高级用户)都希望这样,以便他们可以随时回到他们所在的网站 - 通常他们会深入到其他网站然后,他们不得不多次点击回来变得不友好。

因此,在可用性方面,我认为有更多用户不使用特殊技术在新窗口/标签中手动打开链接。

关于xhtml验证,你可能想用rel =“external”或类似的单词来装饰你的链接然后使用这个JS函数处理新的窗口打开。在过去的几年里,我这样做了99%的时间。

function externalLinks() {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
            anchor.target = "_blank";
    }
}

/**
    DOCUMENT LOAD
**/
$(document).ready(function () {
    /** 
        external links
    **/
    externalLinks();
....

答案 4 :(得分:2)

您需要预测用户的需求。如果您希望自己的用户希望留在网站上,请使用target="_blank"

例如,如果博客文章的帖子中间有一个链接,那么在新标签页中打开该链接是有意义的,因为您希望读者返回页面并继续阅读。

有些人认为读者可以在他们想要回到页面时单击“返回”,

但是新网页会有更多链接到有更多链接的网页,会发生的事情是读者必须“退回”几次才能回到您的博文。不管怎样,或者他最终在无数的链接页面中“迷失”并且无法回到你的博客帖子(你可以确定没有人想要打开历史记录并在他们“丢失”时再次找到你的页面,除非回到您的页面有一个很大的动机。)

答案 5 :(得分:2)

就是不要这样做。将目标属性与链接一起使用会给可能不知道另一个选项卡已打开的辅助技术用户带来复杂性。当后退按钮在新选项卡中不起作用以将其带回到他们开始的页面时,对于这些用户来说,这将成为一种糟糕的体验。这种做法也可能使患有认知障碍的人迷失方向。最好让用户决定链接的打开位置。

答案 6 :(得分:1)

由于这是一个政府网站,这是一个棘手的问题。我经常在这些类型的网站上看到外部网站的免责声明。我不知道这是不是标准。

我认为答案可能取决于您自己的观点,这应该基于可用性和完整性。

答案 7 :(得分:1)

只需为您的用户设置两个按钮:一个用于在新标签页中打开,另一个用于放弃当前页面以支持链接页面。

[www.google.com] [打开Goog​​le代替本页]