Category: Front-End

  • IE缓存问题

    今天调试的时候发现一个比较头疼的IE缓存问题。 我发送了个ajax请求,请求成功则往浏览器session里写更新一条数据。 再刷新页面时,因为session更新了所以这个页面上应该会出现一个新的条目。 但是在IE下并没有成功。不停的刷新都没有用,除非清空浏览器缓存。 一开始怀疑是ajax请求发送失败,但测试下来是成功的。 那是什么原因造成IE读取不了新的session呢? 后来通过查看net请求,发现IE在更新页面时读取的是浏览器缓存的页面session,而不是新session。 http响应为403,不是200。 这个问题在chrome、firefox等浏览器下并没出现。其他浏览器会自动更新缓存。 感觉我表达的不是很清楚……因为第一次碰到这问题,也不知道该怎么描述。 最后通过给ajax请求增加时间戳来强制让IE读取服务器发送过来的请求,而非浏览器缓存的请求。

  • jQuery slideDown snap back issue

    这个问题得用视频才能演示出来……视频之后更新。 标题用的是stackoverflow上的。 我碰到的情况是,div.to-slide里有float元素。 div.to-slide在触发slideDown()动画后,会先down到超过div本身应该的高度,再反跳回原来的高度。 排查了很久都没找到原因。终于最后在stackoverflow上找到了一篇解释这问题的。 原来这个问题并不限定于内部有float的slidedown元素。float只是其中一种情况。 在div.to-slide没有展开情况下,jquery算出的高度有误,所以才会出现高度差反跳。 触发这个bug的原因很多,比如:无宽度,自适应或继承父元素宽度(我的问题就是这个)。 详见 slidedown animation jump revisited