3

我在现有网页中实现了 ajaxify-html5.js 。它使用 jQuery、ScrollTo 和History.js。很棒的东西,效果很好。每个链接都喜欢

<a href="category?id=5">Category 5</a>

在内容窗口中打开,就像它应该的那样。整个事情离完美只有一个问题——当我点击一个使用这样的碎片标识符的链接时:

<a href="category?id=5#pictures">Category 5 - directly to pics</a>

...地址栏中的 URL 发生了应有的变化,但内容没有任何变化。甚至没有 category?id=5 被加载。

据我所见,这被解雇了(来自 ajaxify-html5.js):

History.pushState(null,title,url);     // url = "category?id=5#pictures"

但是 statechange 没有(来自同一个文件):

$window.bind('statechange',function(){

我想我可以清理每个网址(删除#hashtag),然后一切都会工作......当然除了让新加载的页面定位在哪里<a name="hashtag"></a>。不幸的是,网站严重依赖这些......

我的问题是:甚至可以将 ajaxify 与碎片标识符一起使用,后者不受第一个影响吗?

4

1 回答 1

1

您可以像这样使用内部 href 存储所有 <a> 标签:
var tags = jQuery("a[href*='#']");

在 afaxify-html5.js 发挥作用后,您可以通过调用tags.unbind().

于 2013-02-05T19:20:51.583 回答