【问题标题】:Rewrite url ala Google Instant?重写 url ala Google Instant?
【发布时间】:2011-05-06 18:11:48
【问题描述】:

我有一个用 Ajax 和 Js 构建的电子商务网站,当用户键入搜索关键字时,列表是通过 ajax 拉出的,但在我的情况下浏览器 url 不会改变,所以如果用户重新加载或只是添加书签失去关键字输入,他将不得不从头开始的地址。

我注意到谷歌用完整的查询重写了 url,没有标签或复杂的解决方法......显然

我怎样才能做到这一点?考虑到我可以完全控制我的服务器,所以我可以以任何我想要的方式设置我的 apache。

谢谢!!

【问题讨论】:

    标签: ajax url-rewriting


    【解决方案1】:

    看到这个问题,除了他们用Facebook作为例子之外几乎一样。

    【讨论】:

      【解决方案2】:

      如果您在 Google 即搜即得中观看该网址,它不会改变,直到您点击“搜索”或暂停一段时间(我认为是 2 秒)。

      在此延迟之后,Google 会使用这些搜索查询刷新页面。

      【讨论】:

      • 是的,我注意到了……当你在模糊时它会添加标签……是的,有一个哈希……我没有注意到它抱歉
      【解决方案3】:

      我不确定您使用的是什么浏览器,但我会在 Chrome 中的标签后面找到所有搜索词(例如,http://www.google.com/#sclient=psy&hl=en&q=test+test+sibilance&aq=3&...)。我不认为你认为正在发生的事情实际上正在发生。它可以在 Chrome 和其他 HTML5 浏览器上使用 history.pushState() 完成,但我没有看到 Google Instant 使用该方法。

      【讨论】:

      • 我的错,你是对的......有一个标签......所以基本上他们使用window.location.hash......就像我以前那样......谢谢
      • @camelCase,我们都想念东西 :)
      【解决方案4】:

      那么它不是即时的。在不重新加载页面的情况下,您只能更改 URL 中的片段标识符。

      【讨论】:

        【解决方案5】:

        我的经验是,更改搜索后,Google 网址不再“正确”,即它不代表最新的查询。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-20
          • 1970-01-01
          • 2013-01-26
          • 2011-07-18
          • 1970-01-01
          • 2013-01-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多