在新窗口打开链接是流氓行为

October 22, 2007 1:28 am GMT-0700 | In Tech

完整的标题是“随便设置强制在新窗口打开链接是流氓行为”(不过太长了……)早在上个世纪末有人总结的 1999 年十大网页设计错误的第二条就是强制在新窗口打开链接。这个 target=”_blank” 真是一个鸡肋,为什么我认为随便设置这个玩意儿是流氓行为呢?因为它的坏处太明显了……

  • 如果已经设置了 target=”_blank”,用户希望在当前窗口打开这个链接就很难(可以把链接拖进地址栏,不过第一拖起来不是很爽,第二也不是所有的情况下都能用);反之对于一个普通链接,如果用户想在新窗口打开,则方法很多(鼠标中键,shift+click,等)。老子浏览网页老子自己作主,老子要开新窗口老子自己会开,凭什么你个 SB 网站来控制我浏览的行为?
  • 在新窗口打开的网页中,Back 按钮就失去了前面浏览网页的历史。
  • 大多数用户在不被提示的情况下认为链接会在当前窗口打开,一点链接突然蹦出一个白窗口出来是一件很不爽的事情。违背用户直觉是 usability 的一大忌。
  • Tab 浏览器配置下新手如果没有意识到新窗口是在新 Tab 后台方式打开的,往往会点好多次链接,然后出来无数个 Tab……
  • 新窗口占用下面的任务栏空间,不过这个问题现在已经不是大问题了。

比较好笑的是,似乎国内很多网民对新窗口打开网页已经习以为常,纵观各类门户网站,似乎在新窗口打开链接是标准设置。以搜索引擎给出的链接为例,baidu.com 默认是新窗口打开,google.com 默认则是在当前窗口打开(当然这个设置可以自定义)。很不巧,这两个设置我都知道一点内幕,两个公司都是经过深思熟虑广泛调查之后设置的默认值,可见国内网民的浏览习惯。更奇怪的是,我经常看见有人大骂 google SB,竟然不保留自己的搜索结果而在当前窗口打开链接,我想说,你 TMD 才 SB,google 给你自由选择你 TMD 还不要。

不过没有办法,这么多网站还在重复着上个世纪的错误,而且导致广大被洗脑的网民也接受了这样的浏览习惯,真是无语。首先,作为用户,良好的浏览习惯是什么?良好的浏览习惯就是想开新窗口的时候明知道这个链接是新窗口打开的,还是偏要用鼠标中键打开它。这个就跟学开车一样,不要碰到车一多就把脚放在刹车上,这样养成习惯以后碰到紧急情况就一脚下去踩死了油门,岂不自寻死路。哦,好像跑题了。

接下来,作为网站的开发者,你 TMD 为啥要在新窗口打开网页呢,有人说为了网民习惯考虑,放屁,你只要乖乖的设置当前窗口打开就行了,你没个(本链接在新窗口打开)的文字,鬼才知道你是新窗口打开的(不过 Opera Safari 默认可以显示,顺便赞一个)。也有人说为了自己这个网页还开着(这个理由经常对去别站的链接使用),这其实也是放屁。用户希望看你的网站,是因为你网页里面有他需要的信息,而不是你的网页还开着。如果用户需要你这个网页还开着,他自然会自己在新窗口打开链接,用得着你操心么。再说了,你新开一个窗口把你自己的窗口遮住了,而且连 Back 按钮都不能用了,新手反而会糊涂不知道怎么回来了。

好了,骂够了。有没有需要强制在新窗口打开链接的情况呢,也是有的,几个常见的情况是:

  • 打印当前窗口的内容。这个其实现在更推荐用 @media print/screen 两套 CSS 来解决问题,当然 ajax 类网站做这个比较难,新窗口打开打印模式也是很人性化的。
  • 打开非网页类的链接,比如大 PDF、大图片。不但可以后台下载大文件,也可以防止有些用户误以为是文档窗口把浏览器整个儿关掉。
  • 填表的辅助窗口,比方选日期。这个其实现在也不推荐开新窗口,直接用 DHTML 在当前网页里面做未必难做,不过技术力量不强的话开辅助新窗口应该是最合理的方式。

Tags: ,

13 Comments »

RSS feed for comments on this post.

  1. 拜a core!
    这个问题我在blog上也说过来着

    Comment by fishy — October 22, 2007 1:41 am GMT-0700 #

  2. orz acore息怒
    我现在头脑中基本已经有了个新窗口原窗口的分类表了都..

    Comment by kisstar — October 22, 2007 2:00 am GMT-0700 #

  3. orz 二位都很伟大!

    Comment by atppp — October 22, 2007 9:04 am GMT-0700 #

  4. 关于国内网民习惯开新窗口,我觉得这个可能跟网速有很大关系。后退一下需要一点时间,尤其是网络不太好或是网站响应速度慢的时候,这个时候还是开新窗口吧。另外你说的那个google,在国内现在默认应该也是在新窗口打开吧,有一段时间是原窗口的。。。

    Comment by msconfig — October 22, 2007 5:20 pm GMT-0700 #

  5. 我现在新做网页都没有在target=”_blank”了,而且现在也养成习惯了按中键,呵呵,结果用IE真不习惯。

    Comment by pig2532 — October 22, 2007 11:10 pm GMT-0700 #

  6. 搜索引擎的结果默认是开新窗口我觉得是友好的.
    首先国内网速太慢,新窗口利于并发提高浏览效率。
    其次搜索结果是广度维的,浏览单个结果可能会进行深度维浏览,完毕想寻找其他结果用back或直接跳回..累
    为什么不按shift+click或其中键呢?….累

    Comment by dev — October 29, 2007 12:03 pm GMT-0700 #

  7. 完全同意。前面同学有认为在部分情况下开新窗口是合理的,这个没错。但是更重要的是predictability,那么多网站呢,大家都因地制宜我这里就乱成一锅粥了。所以我是用tab mix plus干掉大部分的new window了。emmm

    Comment by alpha — November 6, 2007 9:39 pm GMT-0700 #

  8. 这个当然以网民的习惯为主, 网民习惯什么,就应该给什么.

    楼主知道什么是usability, 应该能理解各公司的做法.

    我有学software measurement,并没有说到_blank是坏东西.

    Comment by 冯虚 — April 16, 2008 3:39 am GMT-0700 #

  9. 小猫小网是什么速度知道吗?
    自己脑残就算了,还在这乱叫。
    习惯,这是主观的东西,这都能算上洗脑。刚然是脑残。

    Comment by lint — March 13, 2009 9:37 pm GMT-0700 #

  10. 不同的人有不同的习惯。上网人群并不都是你这样的专业网虫,很多人是不会那么多操作的。搜索引擎竟然要在当前页打开,我要开一堆来对比怎么办?我要再打开搜索引擎再搜索重复操作?真是无语。。

    Comment by sky — September 6, 2009 7:02 pm GMT-0700 #

  11. 占有欲

    Comment by Venus.Bai — August 16, 2010 1:37 pm GMT-0700 #

  12. 非常赞同

    很多网站用_blank用疯了,用户完全没有能力去改变

    Comment by wsky — October 31, 2010 7:06 pm GMT-0700 #

  13. 我就不喜欢新窗口打开。原因很简单,想要自由。

    Comment by Scorpio — May 14, 2012 6:46 pm GMT-0700 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This weblog is licensed under a Creative Commons License.
Powered by WordPress. Theme based on Pool by Borja Fernandez.