我正在创建一个拥有音频播放器的网站。我的想法是,当您浏览网站时,音乐不会停止,所以我使用jQuery和load()
方法实现了一种深层链接,这种方法很好。
问题在于,如果我直接输入this url,社交按钮会正确加载,但如果我通过网站内的链接访问它,社交按钮就不会加载。你可以看到这个问题here,然后进入"堡垒主题"交。
在AJAX通话后,有没有办法重新呈现这些按钮,以及一般类似的任何类型的内容(如AdSense广告)?我尝试用FB.XFBML.parse();
作为Facebook按钮,但它没有用。
以下是通过AJAX加载页面的代码:
$("body").on('click', 'a:not(.social-tooltip, .fancy, #play, #stop, #back-to-top)', function(e){
var url = $(this).attr('href').split("#");
if(!link_is_external(this) && url[1] == undefined) {
e.preventDefault();
if(url[1] != "comments") {
var href = $(this).attr('href'),
title = $(this).text();
loadContent(href,title);
history.pushState({path: href, titel: title}, $(this).attr('href'), $(this).attr('href'));
}
}
});
window.addEventListener('popstate', function(e){
console.log(e);
loadContent(e.state.path, e.state.titel);
}, false);
function loadContent(href,title){
var href = href,
container = $('section.content');
container.load( href +' section.content', function(){
// container.fadeIn(200);
$('title').replaceWith('<title>' + title + '</title>');
$("#back-to-top").trigger("click");
});
};
如果您需要更多信息,请告诉我,我将编辑此问题。提前谢谢!