当前位置:   article > 正文

如何限制iframe内网页打开新窗口_网页链接应该在新窗口打开吗?

iframe中页面中有url,点击在新窗口中打开,浏览器阻止

4d5a42749463ea4ef398afc8cc28ce98.png

先罗嗦几句。第一次翻外面的文。前面正在讨论这个问题呢,正好看到一个新的文说相关的问题,于是想跟大家分享下,就做了。本文的一些观点还是很不错的,老外想问题逻辑性很强。中后部分的时候翻的都有点恼火,觉得这家伙太罗嗦。不过确实严谨——虽然看起来有点买弄学问的味道。。也许因为偶心里没有佛吧。。

  文中有些观点和国内的情况也不是很适合,但大部分都值得参考
  以后想把这样的文持续翻下去,有不好的地方,请大家多提意见!多交流!谢谢!不,不应该!
  在一般的第一印象中,在新窗口打开链接的决定也许应该取决于链接所在页面以及访问者的设置。当访问者访问有着大量链接的页面的时候,访问者可能更愿意链接自动在新窗口打开,而不用手动的去打开一堆新窗口。而人们访问链接数量较少的页面时,他们更愿意在新窗口打开关于详细内容的链接,这样他们就能继续呆在当前页面上继续他们的浏览。
  其实,这些观点并不正确。
  其实用户并不喜欢被一堆的弹出窗口包围,而且有时候那些灰色的“后退”按钮(无法后退)真的会让人很生气。甚至,(在一些TAB方式的浏览器中,例如IE7,MAXTHON,FF等,很容易出现。——blueben注)有些用户都没意识到这个窗口是新打开的,而去指望那个并不能点的“后退”按钮——结果会很让人失望——点了之后没任何反应。这种体验对用户来说并不友好,这种不友好的体验正是我们这些设计师们应该努力去消除的。让用户来控制
  从易用性的观点来说,强制在新窗口打开链接,违反了一个用户界面设计的基础原则:总是应该尊重用户的决定,什么是他们感兴趣的。一个友好并且实际有效的界面设计,在用户做操作的时候,总是能让他们按自己的意志做出决定。有着持续一致体验的设计才能让用户产生信赖,并且知道当他们做操作的时候,不会被分神,也不会被打断。当用户在使用界面元素的时候,他们必须知道、理解、并且能预料到什么将会发生。任何违反这个原则的设计都会演变成一种以设计方意志为导向的设计,而不是以用户为中心的设计。
  正如Shneiderman主张的,有经验的用户,非常强烈的希望由他们来操控整个系统,系统对他们的行为产生回应。作为设计师,我们有责任设计这样的系统,让用户做交互的发起者而不是被动的反馈者。
  设计师有时候或多或少的总是会希望用户按一定的方式来使用他们的界面或者浏览他们做的页面。虽然这个理论符合一些商业目标,并且因此经常是项目经理的首选,但是设计师有必要提醒经理们,用户其实并不吃你这套
  事实上,开发者往往会忘记一个简单的、几乎是初级的事实:如果用户想关掉一个应用或者离开这个页面的话,他们一定会做到——无论有什么障碍会妨碍他们去点关闭按钮。障碍越多,体验越差。
  作为设计师,我们可以决定的是,给用户一个清晰明了的页面,但是我们没有权力去为用户做决定。为什么强制在新窗口打开链接是错的
  当用户有了掌控那些制约他们的页面的意愿,就会发现,为他们做决定的方法是不对的,并且设计师为他们做的决定并不能总是确切反映他们的真实意愿。强制新窗口打开链接的主要问题是,设计师做的这个决定,超越了用户自己的决定,控制了在用户的浏览器上显示的东西。(事实不一定是用户想要的——blueben注)
  自从一些大型网站(Google, Amazon, AOL, Yahoo &Co.) 在当前窗口打开链接(除非那些链接已经明确说明将在新窗口打开)之后,用户会认为一般页面上的链接都是在当前页打开的,所以用户会把链接就当成是在当前页打开的。(貌似这点上国内的习惯和国外确实有一点偏差,国内还比较混乱,没有明确的数据统计和结论,或者我没有找到——blueben注)
  让我们设想一下用户在点击之前不知道链接是否在新窗口打开的2种情况:
  1、用户想在新窗口打开,但是页面在当前窗口打开了,
  2、用户想在当前窗口打开,但是页面在新窗口打开了。
  在第一种情况中,用户可以使用右键菜单或者一种将在本文后面见到的快捷方式来实现。在这种情况里,用户是交互的发起者,他们决定链接到的页面怎么显示,在这里,站点的行为符合用户的期望,并且得到了一个好的体验
  在第二种情况中,用户会直接点链接,并且突然发现打开了一个新的窗口。在这种情况中,作者是交互行为的被动反馈者,他们需要对链接突然打开的窗口做出反应——例如关掉这个自动弹出的窗口(其实貌似也可以是其他的反应,调整窗口大小、位置、选择当前TAB页,等等,不过本文作者列了最坏的一种例如,卡卡^_^——blueben注)。而且,这里页面的行为并不一定符合用户的期望,结果是一个不好的体验
  用户会觉得站点页面什么都没问就自己做了这些事而觉得很厌烦。如果他们想在新窗口打开他们会自己去做,不要低估他们的智力帮他们去做决定什么的。别强制把一个新窗口送到用户面前,除非你有非常好的理由要这么做(例如。。老板/客户要求的。。。——这又涉及到另一个问题鸟——比较严肃滴问题,还是表在这里谈吧——blueben注)每项规则都有例外
  当然啦,也有例外:有些情况下在新窗口打开页面的方式是对的,而在当前窗口打开却是错的。Jakob Nielsen建议如果链接到的文件不是一个HTML文件的时候,应该采用新窗口的方式。在这种情况下,他推荐使用没有浏览器控制栏的弹出窗口来解决。在这种情况中,很有必要让用户在点击之前就清楚的知道链接将在新窗口打开。
  一个小的图标往往就能起到警示的作用,当然,你要确保那个链接看起来不会被误解。总之,采用ICON通知访问者外部链接是一种很常见的做法。但是一个多余的或者是容易混淆的ICON同样也会引起反面的情绪。在这种情况下也许有必要做一些小的用户测试。
  Telepolis让它们的访问者知道某个链接是链向外部的。但是,这个ICON有可能让访问者迷惑,它看起来也有可能是在当前窗口打开的。
  在以下几种情况下,强制在先窗口打开链接是比较合适的:这是一个提供帮助类的链接。如果你在一个购物页面上,用户点了“帮助”,这种情况下,用户其实并不想离开,所以一个新页面是能被接受的。这时候,一个动态工具栏(dynamic tooltips?不确定——blueben注)会比弹出层要好,而弹出层又比新开窗口要好。(貌似是说某种类似于AJAX的交互,比页面上跳出一个可能会打断浏览进程的弹出层要好,而弹出层又比弹出窗口要好,大约是这样——blueben080709补)这个链接有可能打断一个正在进行的进程。例如,当用户在填写表单的时候,表单给用户提供了服务期限或者表单后面的声明之类的链接,这样就有足够的理由把这些链接在新窗口打开,避免它们打断用户的操作进程。这在注册表单中很重要,而在付款的表单中就尤为重要了。否则,用户很可能丢失那些他们填写过的信息,并且关闭浏览器请求。链接指向一个非HTML文件。例如:.pdf-file, .xls-file, .mp3等。首先要告诉用户将会打开一个新窗口。当使用的是常用的电脑本地文件格式,如PDF或者spreadsheets的时候,用户会发现他们会受本地应用程序的限制。因为用户并不总是在访问站点,所以他们不应该被放在一个浏览器试图里面(有时候浏览器会默认打开一些本地文件,而不是调用本地应用程序,不知道是不是可以这样理解——bleuben注)。总之,最好避免浏览器成为打开这些文件的首选。Jakob Nielsen 介绍了应该怎么做。连接指向一个很大的图片,需要一定的时间来下载。把这个大图片在新窗口打开有助于用户继续关注你的内容,而图片可以在后台加载。原谅他们,他们不知道自己在做什么
  不幸的是,我们目前还找不出任何的研究结果来让我们更好的知道当用户想在新窗口打开链接的时候他们确切的是如何做的(汗。。这句真长。。。)。但是,貌似很多用户并不了解快捷的方式,他们更相信感觉,或者比较直接的方式。相比之下,经验比较丰富的用户更喜欢用下面描述的这些快捷的方式(在新窗口打开链接)。
  有3种办法可以在新窗口打开链接。很多用户会用第一种方式——并不是因为它更有效,而是因为它是最明显(最容易被发现和学习的——blueben注)。但是一些较旧的浏览器可能不支持第2或者第3种方式。
  右键菜单:用户用在链接上点右键,然后选“在新窗口打开”。如果链接在一个新的TAB打开,当前的窗口将保持不变。如果链接在新窗口打开,新窗口将出现并且成为当前状态。
  用户使用Ctrl+点击的快捷键用户按着Ctrl键点击链接。链接自动在新TAB打开。当前窗口将保持不变。这种交互方式很依赖操作系统和浏览器执行。访问者使用中键点击。用户把鼠标放在链接上点鼠标中键。链接会在新TAB打开。当前窗口将保持不变。
  第一项绝对是效率最低但是最常用的一个。它需要更多的点击和注意力,因此也需要花更多的时间和注意力。第3个是最快的,用户不需要总是点出右键菜单来。
  多数用户使用右键菜单来在新窗口打开链接
  用户方面的不满来自于他们大多数人只知道第一种方式.因此,当他们需要新开窗口的时候他们需要用右键,2次点击,再把视图切换回页面,然后一次次重复.这样做让人很不愉快.从而,接受默认的在当前窗口打开链接是”两害取其轻也“.而且,如果用户不知道如何能更快速的在新窗口打开链接,那就告诉他们,他们会很感谢你的帮助.但是我得尽量让用户留在我的站点上,对吧?
  不.即使你强制让链接在新窗口打开,用户会自己想办法绕过,而继续在原窗口打开链接.
  1、用户可以COPY链接,帖在浏览器地址栏里,这样就会在当前窗口打开链接。
  2、用户可以拖动链接到地址栏,也会当前窗口打开链接。
  不幸的是并不是每一个浏览器都允许用户这么做。虽然一些比较新的浏览器已经有这样的功能很长时间了。如果用户不想在新窗口打开链接,他们会试着找到办法绕开设计者的设置。
  Firefox 允许用户选择 那些被设置为在新窗口打开的页面将如何被打开
  因此,做为有眼光的设计师,最好提供给用户一个干净快捷的办法让他们做他们感兴趣的事,而不要去浪费他们的时间。如果你希望你的用户回来,那就帮助他们,引导他们,但是千万不要去打击他们对你站点的耐心和积极性。合适的解决方案
  在我们看来,最有效率、最友好的方式是让用户自己去选择如何打开链接。当然,他们并不需要通过他们的浏览器去做这些。设计师可以提供一个询问-盒子(a small check-box),它来决定链接如何打开。你需要确定这个BOX何以访问并且用户明白它的好处。
  这个可以用JS来做。当这个盒子被选择了之后,所有链接都会在新TAB/窗口打开。现在你就可以自己点点看
  Open external links in a new tab?
  询问-盒子 的源代码:
  JS的源代码(你需要把domain.com? 换成你的网站地址,这样浏览器就可以区分外部链接的本地链接了)
  这个JS不使用cookies ,所以用户随便逛逛之后他们选择的结果不会保留。如果你希望这个JS能对你整站起作用,你就要考虑用cookies来存储用户的选项了。底部的线?尾声~~~
  把用户放在交互界面的主控角色很重要。用户喜欢在原窗口打开链接,你就给他在原窗口打开。别强迫他,除非你有一个非常好的理由。其次,帮助之类的链接要在新窗口打开,会中断进程的和链接到非HTML文件的链接也一样。
  允许用户在页面上选择链接的打开方式。“两害取其轻”,在当前窗口打开链接。而且如果用户不知道如何更快的在新窗口打开链接,那就明确告诉他们,他们会感谢你的帮助的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/188433
推荐阅读
相关标签
  

闽ICP备14008679号