为什么这个无限滚动不能在IE中工作?


Why doesn't this infinite scroll work in IE?

下面的代码适用于Chrome和Firefox。对于IE,它可以滚动浏览相同的内容。我到处寻找解决办法,但一无所获。

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(window).scroll(function()
{
   if($(window).scrollTop() == $(document).height() - $(window).height())
   {
   $('div#loadmoreajaxloader').show();
   $.ajax(
   {
      url: "http://www.hackedflashgames.com/loadmore.php",
      success: function(html)
      {
         if(html)
         {
             $("#wrapper").append(html);
             $('div#loadmoreajaxloader').hide();
         }else
         {
             $('div#loadmoreajaxloader').html('<center>No more posts to show.</center>');
         }
      }
   });
}
});
</script>

loadmore.php

<?php
   include('db.php');
   $stmt = $db->prepare("SELECT * FROM games ORDER BY RAND() LIMIT 6");
   if($stmt->execute()){
      while ($row = $stmt->fetch()) {
         echo'
         content here
         ';
      }
   }
?>

IE以其激进的缓存而闻名,尤其是AJAX。

尝试为ajax调用的URL添加一些随机查询字符串(如时间戳)。

你也可以在你的代码中指定:$.ajaxSetup({ cache: false });

因此你不需要手动添加查询字符串,jQuery会处理它。