关于a标签【target=‘_blank‘】属性的安全漏洞

关于a标签【target=’_blank’】属性的安全漏洞

哈哈哈,看到这个标题一定很奇怪吧?应该不止我一个人不理解为什么有些大型网站的浏览器的a标签不设置调整到空白页面打开吧?

好奇心作祟,不死心的去百度了一下。原来:这个属性是有安全缺陷的!!!

其实国外的网页操作“心智模型”是没有打开个新的页面的,Jackon Nielsen有篇文章《Avoid Within-Page Links》,里面讲到用户对链接的心智模型应该是这样的:

1、点击一个链接应该跳转到一个新的页面;
2、点击了一个链接,老的页面不应该还在;
3、新页面替代了老页面;
4、你一眼看到的应该是新页面;
5、有个后退按钮可以让你退回老页面;

所以,如果你去Amazon看,上面所有商品点击都是直接跳转,这跟淘宝截然不同。比较有趣的是,google英文和中文站不一样,点击一个搜索结果,中国站会弹出新窗口,而英文站,一律都是当前页刷新,即交互反馈不一样。所以,我认为用不用target=_blank,在大的层面,考虑使用人群差异和文化环境;其次,考虑产品当前链接的使用情况,例如不破坏当前操作流的,就不应该使用。而例如帮助信息,与当前用户使用不产生影响的,可以使用。

我觉得target="_blank" 的使用是一门很深的学问,千万不要对于所有的元素都一概而论,打个比方:比如google在处理分页的时候使用target="_blank",想象一下会是什么样的后果;而在处理搜索结果列表的时候使用target="_blank"却又是一件很惬意的事。所以得针对不同的对象谨慎使用target="_blank"。

整理了一下个人觉target="_blank"的使用需要注意的地方:

1,正文的注解一般都target="_blank";(让用户为了注解而离开正文是件比较傻的事,一般新闻网站都会强行使正文中的链接都target="_blank"。)
2,站外链接尽量使用target="_blank";(这个不用解释了吧)
3,表单页面的中的target="_blank"最应该谨慎使用;
4,针对同样元素要一视同仁,别上一个列表用target="_blank"下一个列表就不用,同样对于导航这样的重要的元素要特别重视。

原则差不多就是:内容与当前内容关联性不大可使用target="_blank",离开本页会对用户产生损失一定要使用target="_blank",特别是返回上一页已经不能还原当时内容的情况,所以视频网站在这方面下足了功夫,可以多学习下此类网站关于target="_blank"的用法。

另外我不认为使用或者不使用target="_blank"是绑架用户,什么都不思考什么都不做才是对不起用户,个人意见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值