Javascript jquery推荐的ajax导航方法

Javascript jquery推荐的ajax导航方法,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,jquery推荐的ajax导航方法 我刚刚尝试了这个简单的jqueryajax代码,以ajax方式加载页面中的所有链接 $('a').click(function(e){ e.preventDefault(); url = $(this).attr('href'); $('body').fadeTo('slow', 0.2); $('body').load(url, function(data){ $(th

jquery推荐的ajax导航方法

我刚刚尝试了这个简单的jqueryajax代码,以ajax方式加载页面中的所有链接

$('a').click(function(e){
        e.preventDefault();
        url = $(this).attr('href');
        $('body').fadeTo('slow', 0.2); 
        $('body').load(url, function(data){
            $(this).fadeTo('slow', 1, function(){
                $(this).html(data);
                scroll(0,0);
            });
        });
    });
[页面中的链接粘贴到当前域,不存在任何外部链接]

页面加载按预期工作,但Facebook、LinkedIn、pinterest按钮的脚本无法加载

我认为这不是进行ajax导航的最安全的方法,我相信其他JS文件、内联Java脚本都会导致错误

使用mootools进行了一些很好的ajax导航工作。我正在尝试使用jquery实现同样的功能

该网站成功加载并执行了每个脚本,可以看出ajax工作并不是为了加载特定的脚本


是否有任何安全的方法来实现这一点,确保ajax加载的页面正常工作???

您应该调用在加载处理程序中附加脚本的函数,以便在每次加载时重新附加所有DOM脚本

F.ex,如果您有此代码:

$(document).ready(function() {
    $('#facebook').doFacebook();
    $('#twitter').doTwitter();
});
将其更改为:

var onload = function() {
    $('#facebook').doFacebook();
    $('#twitter').doTwitter();
};
$(document).ready(onload);
然后只要在
主体
获得新内容时调用
onload

内联脚本应根据以下命令执行

您可能还想了解如何使用
.pushState

如果你稍微搜索一下,有一些不错的jQuery插件以跨浏览器的方式添加了这个功能