代码之家  ›  专栏  ›  技术社区  ›  Francesco

重写url ala google instant?

  •  0
  • Francesco  · 技术社区  · 15 年前

    我有一个用Ajax和JS构建的电子商务网站,当用户输入一个搜索关键字时,列表是通过Ajax拉出来的,但是浏览器的URL,在我的例子中不会改变,所以如果用户重新加载或简单地给地址加上书签,他就必须从一开始就放弃关键字输入。

    我注意到Google用完整的查询、没有hashtag或复杂的解决方案重写了URL…显然

    我怎样才能做到?考虑到我在服务器上有完全的控制权,所以我可以以任何我想要的方式设置Apache。

    谢谢!!

    5 回复  |  直到 15 年前
        1
  •  0
  •   jball    15 年前

    我不知道你在使用什么浏览器,但是我在chrome中的hashtag之后得到了所有的搜索词(例如, http://www.google.com/#sclient=psy&hl=en&q=test+test+sibilance&aq=3& ……)我不认为你认为发生的事情是真的发生了。可以在Chrome和其他HTML5浏览器上使用 history.pushState() 但我看不到谷歌即时使用这种方法。

        2
  •  1
  •   Community Mohan Dere    9 年前

    看到这个问题,除了他们以Facebook为例外,几乎是一样的。

        3
  •  1
  •   Jeff    15 年前

    如果你在Google Instant中观看这个网址,它不会改变,直到你点击“搜索”或暂停一段时间(我想是2秒)。

    在这种延迟之后,谷歌会用这些搜索查询刷新页面。

        4
  •  0
  •   AndreKR    15 年前

    那就不是瞬间了。在不重新加载页面的情况下,只能更改URL中的片段标识符。

        5
  •  0
  •   smilingthax    15 年前

    我的经验是,在你改变搜索后,谷歌的网址不再是“正确的”,也就是说,它不代表最新的查询。