在Chrome中,加载Ajax后页面不会resize
我一直狂热地穿过我正在建造的网站的最后一段路线,而且我只是遇到了奇怪的奇怪怪癖。 FF和IE似乎工作正常。
我正在使用jQuery来加载HTML存根,在这种情况下,很多来自外部博客的内容,但是当从非常长的页面切换到非常短的页面时,我得到大约一英里的未使用的页面仍然粘贴到结束时文献。
以下是加载存根的页面正文如下所示:
我一直狂热地穿过我正在建造的网站的最后一段路线,而且我只是遇到了奇怪的奇怪怪癖。 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”请求不支持同步操作。 请注意,同步请求可能会暂时锁定浏览器,在请求处于活动状态时禁用任何操作。“