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

完整的标题是“随便设置强制在新窗口打开链接是流氓行为”(不过太长了……)早在上个世纪末有人总结的 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 在当前网页里面做未必难做,不过技术力量不强的话开辅助新窗口应该是最合理的方式。