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

从C代码隐藏更改浏览器中的URL(不是SEO路由或URL重写)

  •  3
  • iamserious  · 技术社区  · 15 年前

    我有一个网站,其中有一个长长的项目列表要显示,所以我使用分页使服务器上的加载更容易。

    但是,我通过Ajax进行分页,因此当用户单击下一页或上一页链接按钮时,数据中继器将使用Ajax刷新。

    这是正常的,直到,人们开始点击该项目,然后点击后退,它将他们带到第一页。

    假设您通过单击“下一页”按钮扫描大约10页。数据会更改,但浏览器中的URL不会更改。你认为你找到了你想要的,所以你点击它,浏览器加载不同的页面,当你点击后退,浏览器带你到上一个页面,但是由于URL没有改变,你回到了第1页。

    目前,我已经删除了Ajax,所以每次URL都会发生变化,但是我看到有几个网站在Ajax发生时在浏览器中重新编写URL,我想知道我是否也可以这样做。

    google搜索url重新编写只挖掘搜索引擎优化路由的东西,没有任何关于我真正想要的(我确信我没有使用正确的词)

    我很想知道这个问题,有没有线索或线索? 谢谢!

    附:这里的几个问题差不多,但要么太复杂要么太偏离。对不起,如果是复制品。

    1 回复  |  直到 15 年前
        1
  •  2
  •   maciejkow    15 年前

    在客户端JS中,在不强制浏览器重新加载整个页面的情况下,唯一可以更改的URL部分是锚定部分。( http://domain/page#anchor -符号后的部分)。许多JS应用程序(如Google Picassa)也使用此部分,Silverlight也使用此部分提供浏览器历史支持。在导航到数据的另一页时,必须设置锚定部分。加载页面时,只需检查锚定部分并加载适当的页面。此外,您还必须定期检查更改-当用户在其浏览器中使用后退/前进功能时,会发生这种情况。(可能会有一个事件在发生时被触发,我只是没有找到它)