我正在尝试做一个动态模板.我在侧边栏中有链接,我想在jQuery中使用.load()动态加载内容.
我有以下jQuery代码:
// Services AJAX page loader jQuery('.sidenav a').click(function(){ $page_url = jQuery(this).attr('href'); // load page jQuery('#content').fadeOut(200,function() { jQuery(this).load($page_url,function(response,status,xhr) { jQuery(this).fadeIn(200); }); }); // set pagetitle jQuery('.pagetitle span').text(jQuery(this).contents().first().text()); // change CSS current_page_item jQuery('.sidenav li').removeClass('current_page_item'); jQuery(this).parent().addClass('current_page_item'); return false; });
基本上它除了在IE中工作得很好.
当我点击首次加载没有AJAX的链接时,就会出现问题.您可以看到示例here.当您单击侧栏中的“Profil / vision”时,它将再次在#content div中加载整个站点.它只发生在所有版本的IE中.
在其他浏览器中它正常工作.
任何想法可能是什么问题?
谢谢.
解决方法
我相信这是一个缓存问题..
由于url与当前显示的页面相同,因此IE使用缓存(包含所有页面)并将其插入#content div中.
尝试在.load()请求中添加时间戳
.load($page_url,{noncache:new Date().getTime()},function(){..})