【问题标题】:Stop reload when using window.location使用 window.location 时停止重新加载
【发布时间】:2010-01-25 08:58:07
【问题描述】:

单击按钮时,我正在更改window.location.href,即我正在添加一个查询字符串参数。这会导致页面被刷新(因为我正在更改window.location.href)。 我想知道是否可以停止此页面刷新并在 url 中附加查询字符串?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    没有。您可以更改#hashstring,但更改查询字符串会导致重新加载。

    【讨论】:

      【解决方案2】:

      任何从 JavaScript 为位置对象分配新值的操作都会加载一个新页面。

      可以在不刷新页面但不刷新查询字符串的情况下更改哈希值。

      看到这个帖子:http://www.sitepoint.com/forums/showthread.php?t=552076

      【讨论】:

        【解决方案3】:

        看看这个thread,也许对你有帮助。

        【讨论】:

          【解决方案4】:

          如果您附加#hashstring,页面将不会重新加载。此外,如果用户点击浏览器上的后退按钮,它将删除#hashstring。 #hashstring 可用于在 URL 栏中保存状态而不会导致重新加载,并且可以与 ajax 调用结合使用。

          请务必注意,#hashstring 不会发送到服务器,并且仅对 Web 浏览器可见。例如:http://example.com/#blah

          将生成一个如下所示的 http 请求:

          GET / HTTP/1.1
          Host: example.com
          

          #blah 不会被浏览器发送到服务器。

          【讨论】:

          • 我不知道浏览器不会将哈希发送到服务器。有趣的。 +1,欢迎来到 Stack Overflow。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-09
          • 1970-01-01
          • 1970-01-01
          • 2011-08-25
          • 2019-07-07
          • 2020-05-25
          相关资源
          最近更新 更多