我有一个功能性的 wordpress 主题,可以通过 ajax 加载内容。我遇到的一个问题是,当直接加载页面时,ajax 脚本不再起作用。例如,链接结构如下所示,而在 www.example.com 上单击 about 页面链接后,链接变为 www.example.com/#/about。但是当我直接加载独立页面 www.example.com/about 时,从该页面单击的其他链接会变成 www.example.com/about/#/otherlinks。我从这个教程http://www.deluxeblogtips.com/2010/05/how-to-ajaxify-wordpress-theme.html稍微修改了代码。这是我的代码。谢谢您的帮助。
jQuery(document).ready(function($) {
var $mainContent = $("#container"),
siteUrl = "http://" + top.location.host.toString(),
url = '';
$(document).delegate("a[href^='"+siteUrl+"']:not([href*=/wp-admin/]):not([href*=/wp-login.php]):not([href$=/feed/]))", "click", function() {
location.hash = this.pathname;
return false;
});
$(window).bind('hashchange', function(){
url = window.location.hash.substring(1);
if (!url) {
return;
}
url = url + " #ajaxContent";
$mainContent.fadeOut(function() {
$mainContent.load(url,function(){
$mainContent.fadeIn();
});
});
});
$(window).trigger('hashchange');
});