【问题标题】:Save and update information in the Url保存和更新 URL 中的信息
【发布时间】:2016-06-15 11:57:56
【问题描述】:

我有两个轮播,每个都有自己的 id“sliderId”,然后我在轮播中的所有元素上都有一个 id,所以我知道它们滚动了多远,“currentFirstId”。

我想将信息保存在 url 中,我已经通过以下方式做到了:

window.location.href = currentLocation + "#" + sliderId + "=" + currentFirstId;

这给了我想要的结果:www.blabla.com/#sliderId?2296=0#sliderId?2337=0

但是当我滚动时如何 git 更新 currentFirstId,因为就像现在一样,它是在已经存在的文本之后放置的信息,如下所示:

www.blabla.com/#sliderId?2296=0#sliderId?2337=1#sliderId?2296=0#sliderId?2337=2#sliderId?2296=1#sliderId?2337=3#sliderId?2296=2#sliderId?2337=4.

那么我如何让它更新已经存在的文本,所以输出是:

www.blabla.com/#sliderId?2296=2#sliderId?2337=4 ???

我希望这是有道理的。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    不妨试试:

    window.location.href = window.location.hostname + window.location.pathname + '#' + sliderId + '=' + currentFirstId;
    

    【讨论】:

    • 是的,这给了我想要的效果,但它只保存其中一个轮播的数据,并删除其他信息,因此它只保留来自其中一个轮播的信息,而不是两者... :/
    • 您可能应该重新考虑这一点,以避免在您的 URL 中出现多个问号。虽然不一定无效,但由于第一个问号开始查询字符串的参数列表,因此非常令人困惑。
    【解决方案2】:

    看看这个帖子:

    URL without query string

    也许您想使用 window.location.origin 并将“#sliderId?2296=0#sliderId?2337=0”部分附加到该部分,而不是使用 currentLocation。

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2016-02-13
      • 2011-04-30
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      相关资源
      最近更新 更多