使用 javascript 在点击时处理 URL 的片段



我目前正在构建一个ajax分页,它将页码加载到URL中并允许历史记录。分页本身工作并加载 DOM 中的下一项。但是,我遇到了一些依赖于原始URL的问题。我正在使用表达式引擎,它可以动态创建页面和分页的链接,例如,可以带或不带尾部斜杠;

www.mysite.com/category/entry/title

www.mysite.com/account/user/1/

我让 ajax 分页工作的方法是在呈现的分页链接的最后一段之前向 url 添加一个"#",这会触发下一页由 ajax 加载。

分页链接是绝对路径,我无法控制。我已经告诉脚本拆分 URL,并将单击链接中的"#"和最后一个片段添加到现有 URL。这呈现为;

www.mysite.com/account/user/1/#p10

并且 Ajax 分页工作正常。但是,如果没有尾部斜杠,则呈现为;

www.mysite.com/category/entry/title#p10

无法加载正确的页面

我正在努力创建一个条件,在添加拆分链接之前在原始 URL 的末尾添加一个"/"(如果尚不存在)。

除此之外,我还尝试在代码中包含"/#",但随后将链接呈现为;

www.mysite.com/#p10

缺少 URL 的其余部分

下面是我正在使用的javascript片段

$(wrapper).on("click", options.link, function(e) {
e.preventDefault();
var linkPath = $(this).attr('href').split("/").pop();
window.location = '#' + linkPath;
});
呃,

不确定这是你的意思,但是:

if (url.charAt(url.length - 1) !== '/') url += '/'

您可以使用window.location.href获取完整的当前网址WIndow.location是一个对象,所以在这种情况下,总是尝试单独更新哈希或href或查询部分以获得最干净的结果。

相关内容

  • 没有找到相关文章

最新更新