我正在研究Wordpress单页组合中的ajax加载功能。保存并加载页面的ajax状态
原理是,当您单击图库中的缩略图时,它会打开一个容器(#DrawerContainer)并将其中的ajax内容读取到该容器中。有了很多帮助,我已经能够打开抽屉并在单击缩略图时加载帖子内容。
这是一个小提琴,如果你想看到它的工作(ajax不会加载,但它在本地工作)。 http://jsfiddle.net/RF6df/24/
我现在正在处理的部分:我需要我的网站被抓取,并且网址可以共享。如果我给某人http://mywebsite.com/#!project5
,我需要在加载页面时打开project5内容。
我认为哈希爆炸(#!)网址是完成这项工作的方法。通过下面的代码(在jsfiddle中注释),我可以更新url并添加单击缩略图的散列。
var pathname = $(this).find('a')[0].href.split('/'),
l = pathname.length;
pathname = pathname[l-1] || pathname[l-2];
window.location.hash = "#!" + pathname;
但是,当我加载一个页面,阿贾克斯状态不记得。我认为这是因为我的ajax容器只在点击事件上加载,但在php中添加持久容器时没有任何变化。
有没有一种方法来加载页面的内容已经显示,或打开#DrawerContainer页面加载哈希爆炸URL?
请记住,我只是在学习jquery和ajax。所以,如果你解释或评论一下你做了什么,我会非常感激,我肯定会同时学习...... :)
烯的方法看起来不错,我对它发表了评论的哈希值。如果您需要进一步的帮助,更新小提琴以更好地反映html结构将极大地帮助 - 例如列表项中没有链接,可以很高兴看到它们的href如何(例如'/ foo /'或'/ foo'或'http:// example.com/foo/bar') –
我只是更新了小提琴(请参阅第一个缩略图),以便获得我确切的结构。 '<?php the_permalink(); ?>'正在返回这个'http:// example.com/foo /',并且它看起来像这个'http://example.com/#!foo' – wyem