【问题标题】:Which is more fast in going from one page to other, a link or a button?从一个页面到另一个页面,链接或按钮哪个更快?
【发布时间】:2013-11-07 04:19:00
【问题描述】:

最近我设计了一个页面,它有一个带有四个按钮的导航栏。用户在点击每个不同的按钮时被引导到不同的页面。对于我使用以下代码的按钮,

<button type="button" class="subheader-buttons" onclick="window.loation=document.location.href='PAGE 1'">Button 1</button>

我对所有四个按钮都使用了上面的代码。现在我想知道使用链接而不是按钮是否有利?链接从一页转到另一页的速度是否比按钮快?

【问题讨论】:

标签: javascript html button hyperlink


【解决方案1】:

我相信仅链接会快得多,因为您所做的是执行 javascript,而不仅仅是在 href 中链接它!

但这仍然是一场非常大的辩论!

我从 uxmovement.com 获取此信息

当我们查看网络时,大多数网站上的链接数量超过了按钮数量。这样做的原因是因为

  • 链接更容易创建
  • 链接简单且足够
  • 链接不会掩盖内容

按钮则相反。

  • 按钮需要更多时间和精力来创建
  • 按钮可以有不同的尺寸、颜色和样式
  • 按钮有时会掩盖内容

您可以在此网站上获得更多信息: http://getlevelten.com/blog/randall-knutson/design-decisions-buttons-vs-links-fight

【讨论】:

    【解决方案2】:

    你应该使用&lt;a href=""&gt;而不是window.location.href,有几个很好的理由。

    • 首先,如果您禁用了 javascript,则所有链接都不起作用。
    • Google Bot 不会解释 javascript,因此它们不会跟踪您的任何链接。

    欲了解更多信息:window.location.href vs clicking on an Anchor

    【讨论】:

      【解决方案3】:

      使用标准 HTML 链接是执行此操作的常用方法。虽然这两种方法的速度都差不多。

      从技术上讲,由于您在按钮上使用 JS,因此您的浏览器必须在将您发送到其他页面之前运行代码,因此可能需要多一点时间。

      你可以在不使用 JS 的情况下将链接设为按钮:

      <a href="your-page.html">
      <button>Your Page</button>
      </a>
      

      【讨论】:

        【解决方案4】:

        都是一样的。如果需要,您可以使用&lt;a href="link"&gt;&lt;button&gt;&lt;/button&gt;&lt;/a&gt;。 但是,使用javascript链接到其他页面可能会很慢,您可以使用网络检查

        【讨论】:

          【解决方案5】:

          我认为链接会更快。在这两种情况下,Web 服务器都将转到 href 指定的链接。然而,一个链接就是这样——一个重定向的调用。然而,据我所知,一个按钮会向网络服务器发送更多的数据,并且还有更多的东西对它做出反应——也就是更多的开销。因此,链接可能会更快。但是,除非您的网站有大量流量,否则它只会产生边际效应,所以我认为这并不重要 - 您可能应该随心所欲。

          我还想指出,无论您使用的是链接还是按钮,我都不认为使用 javascript 导航到这样的页面可能是最好的主意。服务网页是网络服务器的工作,因此 javascript 调用可能不是最好的。使用您用于 Web 服务器的语言(如果不是,那么我建议您开始为您的网站使用后端),您应该能够轻松响应按钮单击/页面重定向。这样做的好处是它还允许根据需要在页面上完成任何额外的工作。

          【讨论】:

          • 帖子中定义的按钮不会“向网络服务器发送更多数据”。它只是更改为当前选项卡的位置,与用户键入 url 相同。与表单提交关联的按钮可能会发送更多数据。
          • 发送更多数据是指处理更多数据。例如,如果您使用过 ASP.NET,则按钮会在这种情况下引发“onClick”事件,不仅必须在该代码中做出反应,而且还必须由其他事件处理程序做出反应。同时,IIS 和 Apache 处理链接(据我所知)将其视为普通请求,没有为其连接事件处理程序,因此速度略有提高
          【解决方案6】:

          差异不会很大(甚至不会被人类察觉)。关于是使用onclick 还是href,还有其他问题(最重要的是可访问性)。

          【讨论】:

            猜你喜欢
            • 2010-11-18
            • 2021-08-02
            • 2019-11-29
            • 2021-08-19
            • 2016-04-21
            • 2016-02-01
            • 2013-12-13
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多