【发布时间】:2011-05-29 08:35:35
【问题描述】:
我在我的一个项目中对分页进行了 ajax 化处理,因为我希望用户能够为当前页面添加书签,所以我通过哈希附加页码,例如:
onclick="callPage(2); window.location.hash='p=2'; return false;"
这就是hyperlink 它工作正常,一切正常,除了当页码为 1 时,我不想将 URL 变成 /products#p=1,我只想让它成为 /products
我尝试了这些变化:
-
window.location.hash=''有效,但网址现在类似于/products#,而且我不太喜欢那里的哈希值。 - 根本不使用window.location.hash,但是当用户从第3页回到第1页时,他在第1页,但url仍然是
/products#p=3,因为我没有弄乱哈希。 - 对此的 Google 搜索让我进入了几分钟(大约 15 分钟)的愚蠢论坛,在这些论坛中问题被正确提出,但答案表明页面跳转,因为线程创建者在 href 中有一个像
<a href="#">这样的哈希值,他应该请改用javascript:void(0)。 (他们从未听说过 Ajax 吗?)
所以最后,我决定做这个帖子,我在这里找到了几个类似的帖子,但所有的答案都与我的第二点非常相似。
所以我的大问题仍然是一个问题:如何将散列踢出 URL 并可能踢出宇宙? (仅限第一页!)
【问题讨论】:
-
我看到反引号在有序列表中无效。
-
@iamserious:如果您使用 Markdown 而不是 HTML 来创建这些列表,它们就是 ;)
-
@Kling,啊哈!这很好,谢谢!
-
@maksymko,我想这只是个人喜好,但我想要一个干净的 url,我的意思是,如果哈希之后没有任何内容,为什么还要首先添加它?另外,我想知道搜索机器人是否将
/products和/products#视为两个不同的页面?
标签: javascript ajax fragment-identifier