【问题标题】:Is there ever a good reason to force opening a new browser window?是否有充分的理由强制打开新的浏览器窗口?
【发布时间】:2019-12-09 21:49:27
【问题描述】:

作为一名高级网络用户,我知道如何使用我的浏览器,当网站强迫我打开一个新页面时,它会让我发疯。相比之下,我的母亲在发生这种情况时会感到困惑。在网络会话结束时,她关闭当前浏览器窗口并想知道所有这些其他浏览器是从哪里来的。

与我合作过的一些公司有一项政策,即所有外部链接都必须在新窗口中打开,这是为了阻止人们离开他们的网站,这是一种误导性的尝试。相反,它只会让人们烦恼或困惑。

那么,打开新窗口是否有充分、正当的理由?

【问题讨论】:

  • 可用性专家 Jacob Nielsen 说,只有应用程序才能在新窗口中打开。应用程序示例是 PDF 和 Powerpoint(这些可以在浏览器中运行)。
  • 此页面上的答案已过时,因为它们假定浏览器将在新窗口中打开“_blank”链接,而大多数现代浏览器默认改为在新选项卡中打开。我在下面添加了一个新答案,反映了范式的这种变化。
  • 我经常在新窗口中打开内容,因为我想在研究/做某事时调查多种途径。可以说,在新选项卡中打开内容确实反映了浏览器中 UX 设计的失败,因为它没有遵循主机操作系统和那里的用户偏好。
  • 我不同意它们已经过时,只是因为我们现在倾向于使用标签与窗口。存在差异,但也有许多相似之处。

标签: html popup browser


【解决方案1】:

我真的想要说“从不!”,但与所有事情一样,也有例外。正如mattlant 提到的那样,这可能是因为页面上有不能丢失的项目,帮助页面可以很好地解决这个问题,因为当用户点击“帮助”并准备填写表格时,他们可能已经完成了一半。如果他们丢失了所有条目,会非常恼火(尽管 lightbox-esq 解决方案也可以在那里工作)。

我认为应该尽可能避免使用它,并且绝对不要将其用于增加页面展示次数或停留时间的错误尝试。它永远不会起作用,正如你所说,它只会让人们感到沮丧。

【讨论】:

  • 所以您的意思是,您应该使用悬停项目,使用 JavaScript 库之一,而不是使用新窗口或弹出窗口(它们总是会被某些浏览器阻止)。那么这是否意味着“从不”?
  • 不,我认为您可以使用弹出窗口。大多数浏览器不会阻止用户启动的弹出窗口。如果他们需要继续引用它,将帮助文本放在单独的窗口中会很有用,一个灯箱会让人讨厌恕我直言
  • 当然,更好的办法是在浏览器填写信息时将信息保存到localstorage,以免因其他问题而丢失。
【解决方案2】:

不敢相信没有人提到它,但是PDFs and other non-web documents should be opened in a new window,主要是因为不懂windows/tabs/embedded plugins的用户对这种行为的期望比'用PDF替换网页'行为更大“同一窗口”链接。

【讨论】:

  • 除了有时服务器不使用“inline”属性,浏览器下载文件并留下一个空选项卡。我不介意在同一个窗口中打开 PDF。
  • 这是有道理的如果可以保证 PDF 和非 Web 文档甚至可以在浏览器窗口中打开。由于这取决于最终用户的浏览器、插件和操作系统,因此这不是一个安全的选择。最好通知用户他们即将打开非浏览器文件类型,让他们自己决定如何处理。
  • @DA01:新标签页的默认行为不能正确处理吗?是否与之前的评论相似 - 即留下空白标签?
  • 我不知道最近发生了什么变化。我确实知道,PDF 发生的事情仍然是浏览器/操作系统中的设置,而不是我们可以直接、一致地从网页控制的东西。
【解决方案3】:

我很喜欢谷歌阅读器在新窗口中打开所有链接的方式。如果使用当前窗口,Reader 无法工作的原因有很多,但除此之外,它与 Firefox 配合得很好,因为它在新选项卡而不是新窗口中打开。因此,总体而言,这是一次很棒的体验,它必须以这种方式发展。所以永远不要说“从不”。

【讨论】:

    【解决方案4】:

    我们有一个使用第三方网络报告工具的应用程序。我们的增值基本上是报告导航和报告参数本身的改进输入屏幕。

    完成后,报告会在新窗口中打开,因此标准工具的报告与我们生成的报告之间没有什么不同。

    我们的客户实际上喜欢这样一个事实,即他们可以关闭报告窗口并重新显示原始窗口,而不必使用浏览器的后退按钮。

    我看到的另一个示例是基于 Web 的应用程序的帮助 - 帮助屏幕出现在一个单独的窗口中,以便您可以轻松地在应用程序及其帮助屏幕之间切换。

    【讨论】:

    • 那么您当然可以向客户展示如何自己打开新页面,如果这是他们想要的行为吗?
    • 因为我们实际上对我们的客户进行了民意调查,并且大多数(响应的)首选默认行为是“打开新窗口”。您也可以建议添加两个链接,当前浏览器和新浏览器,但我怀疑这会给客户群带来更多麻烦。
    • 但是通过默认打开一个新窗口,你删除了少数不希望它在新窗口中打开的选项。
    • 如果我让我的用户选择在与 Web 应用程序相同的页面中打开报告,那真的会搞砸并造成混乱。该应用程序是一个软打样系统,报告是关于 prs 特征的可选报告,以及什么不是。在这种情况下最好在新窗口中显示。
    • @mattlant — “如果我让我的用户选择在与 Web 应用程序相同的页面中打开报告,那真的会搞砸并造成混乱。”即使你不给“你的”用户这个选项,他们也已经有了。你不能把它拿走。习惯就好了。
    【解决方案5】:

    总结许多好的反应。

    1. 仅仅因为链接在当前站点之外而打开一个新窗口 永远都不好。
    2. 预览窗口或外部报告窗口在新窗口中可能很有用,并且在某些情况下会减少混乱。理想情况下,这将是可配置的,以适应不想在新窗口中打开的用户。
    3. 在当前使用弹出窗口的情况下,例如提供帮助,现代 JavaScript 库可以提供很好的悬停工具提示样式覆盖,不会破坏页面的流程,也不会丢失任何内容-progress 编辑,因此可以考虑在没有弹出窗口的情况下解决相同的问题。弹出窗口被许多浏览器阻止。
    4. 带有 DOM 操作 JavaScript 的模态覆盖可以解决许多 可能需要新窗口的情况,例如预览或外部应用程序。
    5. 教育您的用户在浏览器中使用中键单击(打开新选项卡)或右键单击 > 打开新窗口/选项卡功能,以便他们意识到如果愿意,他们始终可以打开新窗口或选项卡。当然,这要求您的应用程序不会破坏标准链接模型,而许多编写糟糕的 JavaScript 应用程序会破坏该模型。

    【讨论】:

    • 5.这几乎是不可能的,除非您的用户群非常。为了实现这一目标,浏览器创建者可能有责任改进他们的 UI。
    • 中键并不难!
    • “教育”是困难的部分,而不是中键。
    • 我赞成你对 #1 的回应。
    • 3.无论 javascript 多么“漂亮”和“现代”(也被许多浏览器阻止),悬停不会在触摸屏平板电脑中流行
    【解决方案6】:

    是的,一个完整的 ajax 应用程序需要打开无法很好地集成到当前页面的内容。例如,在我正在进行的一个项目中,我启动了打开一个新窗口以显示各种报告。

    【讨论】:

      【解决方案7】:

      公共网站:没有。企业应用程序:也许,只有在你必须的时候。

      请注意,对于多标签浏览器,它们通常可以将“新窗口”显示为标签(而不是弹出窗口,这从用户的角度来看是令人讨厌的 - 新标签更令人愉快 - 尤其是对于高级用户)。

      【讨论】:

        【解决方案8】:

        有...例如,假设一个页面有大约 1000 个选项,每个选项都有一个“帮助文本”...现在您可以为每个选项加载文本,在某种工具提示中显示它等等,或者您可以创建一个“帮助”图标并打开一个弹出窗口,显示有关您正在编辑的选项的信息。你不想移动到新页面,因为你会丢失编辑,所以这里是。

        这是我以前工作中的一个实际示例,以证明不采用 XHTML Strict 而不是 Transistional。

        但是,这是一个弹出窗口,而不是浏览到新窗口。我认为说“你必须继续在新窗口中浏览这个外部站点”是不好的......这可能就是为什么你不能在 XHTML Strict 中这样做!

        【讨论】:

        • 这种情况不能证明编写糟糕的 XHTML 是合理的。
        • 在一个好的网站中,当您按下返回键时,您的编辑会返回。
        【解决方案9】:

        我认为有时是有理由的。如果您确实有在外部窗口中打开的链接,则应将其标记为 - 带有图标,或至少带有 title 属性,以让用户知道单击该链接时会发生什么。

        一般来说,当网站不允许我选择如何使用链接时,我会发疯。

        【讨论】:

        • 这里有个好主意。 忏悔一半的罪过。图标应该是一个亮黄色的警告标志!
        【解决方案10】:

        一般来说,我认为没有。然而,对于像 Stack Overflow 这样的网站,我在其中寻找有趣的问题,我宁愿打开一个单独的标签,这样我就不会失去我的位置。

        【讨论】:

        • 所以要么中键单击或右键单击并选择“新窗口”或“新标签”。它是您的浏览器内置的功能!
        【解决方案11】:

        我认为只有一种类型的网站允许所有外部链接在新窗口中打开,那就是网络应用程序。例如用户单击附件时的 webmail 站点,或者当用户单击标题以访问提要项目、日历等的网站时,BloglinesGoogle Reader 等在线提要聚合器。

        考虑到网络应用的用户群,更有可能是一个新标签

        【讨论】:

          【解决方案12】:

          只有在客户坚持的时候。即便如此,只有在您尝试教育他们不这样做的原因之后。

          虽然我确信有些情况是我以前没有遇到过的,但我还没有找到用另一种非侵入性的方法无法解决的情况。

          【讨论】:

            【解决方案13】:

            3 个词:“永不言败”

            任何称职的开发人员/设计师都应该知道何时何地使用弹出窗口以及如何最大限度地减少它们的使用。不幸的是,对于狂热者来说,实际上存在一些可用的情况,弹出窗口比替代解决方案(例如灯箱、浮动 div)更有用。当然 99.9% 的时间你都不会使用弹出窗口。当你开始使用绝对值来说服自己在可用性方面是你的男人时,你已经把自己开枪打死了。与您的用户合作,不要对他们发号施令。 (顺便说一句,当我说“你”时,我不是指 Shermozle,而是指我们所有人)。

            IMO,弹出窗口可以作为对话框使用,并且比灯箱更易于使用,因为它们更接近操作系统的功能。 IE 模式对话框运行良好。由于鼠标事件未正确触发而四处浮动或闪烁或卡住的 Ajax 弹出窗口实际上并不那么有用。

            不幸的是,浏览器制造商已经失去了对开发人员知道何时何地使用它们的信任,我们现在已经失去了对完全控制的弹出窗口的控制——这些混蛋已经毁了我们其他人的浏览器,我们必须应对弹出窗口阻止程序和 Firefox 在新选项卡选项中打开......哦,好吧。就我个人而言,我想说“在新标签中打开”、“在新窗口中打开”、“作为灯箱打开”……这让我能够做出有根据的专业决定。

            【讨论】:

              【解决方案14】:

              这是我的一分钱,不是作为 Web 开发人员而是作为用户思考。 在以下情况下,我会在不同的窗口/选项卡中打开内容:

              • i) 内容 MIME 类型不是 xhtml (.pdf、.jpgs、.rss 等)
              • 链接将我带出当前 网站

              为什么会有这些情况??

              • i) 大多数时候你想下载 或者继续检查一些东西 阅读同一页。
              • ii) 20 秒后作为用户。浏览, 我准备好打开 10 个标签 阅读,并且我在阅读时继续打开页面,因为这是一种让它们完全加载而无需等待的方法。当我从一个站点跳转到 另一个我不想错过任何事情 关于上一页。

              【讨论】:

              • 对,但您还没有解释为什么开发人员会而不是用户做出这个选择。这就是我的观点:教用户去做,不要假设他们总是想要它。
              • 不确定我明白你的意思。作为开发人员,我们的目标之一是让用户的生活更轻松,这就是我从他们的角度回答的原因。 “让事情变得更容易”有时意味着为他们做出决定(对不起,我知道这听起来不太酷;))
              【解决方案15】:

              如果绝对必要,我认为可以这样做。 例如:如果在您自己的网站上,您正在链接到另一个网站,并且您不希望人们导航到您网站之上的那个网站。所以在这种情况下,我认为打开一个新浏览器就足够公平了。尽管您始终可以在链接旁边指定“(将在新浏览器中打开)”。

              但是强制链接一直在新窗口中打开是一个真正的禁忌。这让用户感到困惑和恼火。

              【讨论】:

              • 你错误地说“在上面”很有趣。您提出的“解决方案”将精确地使第二个站点在第一个站点的“顶部”打开——在粗鲁的浏览器中。
              【解决方案16】:

              当上下文很重要时:正如上面提到的那样,当谷歌阅读器这样做时,这至少对我有好处,因为我不会失去我在页面上的位置。例如,GMail 也是如此。

              不太确定 Stackoverflow - 我在新标签页中手动打开所有这些链接,所以我喜欢它不会强制打开新标签页,但您当然可以提出相同的论点。

              【讨论】:

                【解决方案17】:

                其实我也一直在考虑这个问题。经过一番思考,我认为未经用户同意就这样做是不可接受的,这就是 W3C 不赞成这种行为的原因。我建议提供两个链接,一个在当前窗口中打开,一个在新窗口中打开。您可以将第二个链接的格式设置为:(新窗口),或者您可以对其进行图形表示。我正在开发一个 JavaScript sn-p,它为所有外部链接动态执行此操作,以便您可以拥有有效的 HTML,同时为您的用户提供新窗口或标签的一键式解决方案。

                【讨论】:

                  【解决方案18】:

                  假设您正在为独立网页构建 HTML 编辑器。并且您想看看最终用户在没有所有工具(和 JavaScript)进行编辑的情况下会是什么样子。在窗口中预览是弹出新窗口的绝佳理由。

                  另一个很好的理由是 Gmail 聊天用户界面。有人正在和我一起使用谷歌谈话。我想单击“弹出”来创建另一个窗口。这样我就可以继续浏览了。

                  这样做是有理由的。这是一个工具。如果您深思熟虑地使用它,您将做出正确的选择。

                  【讨论】:

                  • 独立的 HTML 编辑器可以在 Web 浏览器中打开一个新窗口。但在这种情况下,这不是来自浏览器中的浏览器的链接。所以这个案例是可以的,但不是我们的主题。
                  【解决方案19】:

                  我只是在创建一个带有 Flash 音乐播放器的网页。我添加了一个选项来打开一个仅包含播放器的新窗口,我认为在这种边缘情况下,如果用户即使离开页面/站点也想收听曲目,打开新窗口的可能性很有用.

                  【讨论】:

                  • 这个案例很简单。放置一个链接并将其称为“永久链接”或类似的名称。用户将知道如何处理它。
                  【解决方案20】:

                  我认为在 Facebook 等的基础上...设计应用程序时更有意义,例如在新窗口中打开任何链接。

                  反之亦然,当您的网站链接到社交网络上的页面时,在新窗口中打开页面是一个优势,因为根据个人经验,我只想查看该页面几秒钟并且不喜欢按几次“返回”来返回我之前所在的网站。

                  【讨论】:

                    【解决方案21】:

                    这个问题现在已经过时了。虽然在提出问题时在外部窗口中打开链接可能是不可接受的,但在外部标签中打开新页面是完全可以接受的。因为两者都在 HTML 中使用了_blank 属性;由浏览器决定链接是在内部打开还是在外部打开,并且任何 现代 浏览器都将默认在新选项卡中打开而不是打开一个全新的窗口。

                    UX Movement article 提供了几种应在新选项卡中打开链接的情况。一些重点是:

                    1. 如果链接是外部链接,您可以通过在新选项卡中打开链接来加快用户速度。这样一来,他们在浏览完其他网站后,就不必多次单击“返回”来返回您的网站。
                    2. 如果您有多个外部网站的链接并且用户想要访问所有这些网站,他们必须每次都点击返回您的页面,而不是只在新选项卡中打开所有网站而不必担心点击返回。
                    3. 如果浏览器不缓存您的网站数据,额外的后点击会迫使您的服务器每次都重新发送数据,从而对您的服务器造成负担。
                    4. 分析可能会出现偏差,显示一位访问者从其他网站返回您的网站,就好像这是对页面的多次短暂访问,而不是一次长时间访问。

                    【讨论】:

                    • 我不认为在我的浏览器中打开更多选项卡比我希望它为我打开更多窗口是“完全可以接受的”。这是我的浏览器,让我随意浏览。
                    • 列出的 4 个项目的问题在于 1) 这纯粹是他们想要返回的假设,并且切换选项卡本质上比返回按钮更快。 2) 对。但也许我只想在我当前的浏览器中访问一个。 3) 嗯,如果这对服务器造成负担,那么问题就更大了;) 4) 分析可能会向任一方向倾斜。所以,总而言之,也许是有效的点,但也有同样有效的反点。所以我不会说这是决定性的。
                    【解决方案22】:

                    作为用户,我不希望看到新标签页打开,除非它是 PDF 或可打印的页面。否则,我自己会右键单击并“在新选项卡中打开链接”,并且不会依赖网站来为我决定。同样,不同的用户也会有自己的选择和意见。

                    因此,这完全取决于您的目标受众是什么以及他们可能在什么平台上使用您的应用程序。如果您的目标受众习惯于看到单击“演示”链接以在新选项卡中打开,那么他们也希望在新网站上继续以这种方式看到它。如果假设您的网站是在移动设备的浏览器中打开的,那么打开一个新标签是绝对不允许的(例如 FB 登录弹出窗口)。

                    在这种情况下做出决定的最佳方法是查看其他流行网站在这种情况下会做什么。使用 Google 搜索的人,总是希望其他搜索引擎与它没有完全不同。

                    【讨论】:

                    • “像其他人一样做。” :-/ 这是一个相当空洞的答案。
                    【解决方案23】:

                    标题中的问题是关于强制在新窗口中打开链接。

                    那么答案是:

                    邮件末尾的问题是关于在新窗口中打开链接。

                    那么答案是:是的

                    【讨论】:

                      猜你喜欢
                      • 2014-09-04
                      • 1970-01-01
                      • 2020-05-11
                      • 1970-01-01
                      • 1970-01-01
                      • 2015-04-02
                      • 1970-01-01
                      • 1970-01-01
                      • 2021-11-09
                      相关资源
                      最近更新 更多