在Chrome中,加载Ajax后页面不会resize

我一直狂热地穿过我正在建造的网站的最后一段路线,而且我只是遇到了奇怪的奇怪怪癖。 FF和IE似乎工作正常。

我正在使用jQuery来加载HTML存根,在这种情况下,很多来自外部博客的内容,但是当从非常长的页面切换到非常短的页面时,我得到大约一英里的未使用的页面仍然粘贴到结束时文献。

以下是加载存根的页面正文如下所示:

 

我的所有负载都是使用jQuery load() ,我有一个没有这个问题的站点迭代。 我一直在转向更宽100%的宽度风格,这个问题在这个过程中出现了。

我的问题是:有没有办法强制页面在转移到不同/更短的内容时重新检查其大小?

我找到了解决方案。 (至少我没有看到它发生在几分钟内)。 在.ajax回调中,用$('div').html(data);设置内容后$('div').html(data); ,我用$(window).resize();调整整个窗口的大小$(window).resize();

我遇到的问题完全相同,我得到的答案是否定的。

我只是通过在加载AJAX后用新内容检查新div的高度,并使用jQuery设置正确的高度来设法解决这个问题。

如果有人能找到强制自动resize的方法,那将是非常好的,但同时这个解决方案无论内容量多少都能完美运行。

我只能用css修复它。 问题是我已经绝对定位了我的页面包装元素,所以它有效地坐在了身体元素的流动之外。 我删除了这个职位:绝对; 顶部:0; 左:0; 然后放一个边框:0; 和填充:0; 在身体元素上。

它应该是一个纯CSS问题,我自己没有使用jQuery for AJAX但是当调用内容时你使用它?

 document.getElementById('myDiv').innerHTML=myResult 

或者你在使用jQuery吗?

 $('#myDiv').html(myResult); $('#myDiv').append(myResult); 

如果你使用jQuery,你应该首先清理div,如下所示:

 $('#myDiv').html(''); $('#myDiv').html(myResult); 

如果这没有帮助你可以使用固定的高度并使用溢出css属性

  #myDiv { height:600px overflow:auto; } 

当然,固定高度并不总是最佳解决方案,但它可能对您有所帮助。

如果推动推进,你可以使用一些javascript强制加载后的高度。

我试图远离position:absolute尽可能position:absolute

你可以用css来解决:

 #myDiv{max-height:value; overflow:auto;} 

asyncBoolean

默认值:true

默认情况下,所有请求都是异步发送的(默认情况下设置为true)。 如果需要同步请求,请将此选项设置为false。 跨域请求和dataType:“jsonp”请求不支持同步操作。 请注意,同步请求可能会暂时锁定浏览器,在请求处于活动状态时禁用任何操作。“