我们的Web应用程序完全由JS构建。
为了让它更快速,我们在浏览页面之间缓存资源(模型),并在查看页面时重新加载资源。当使用JavaScript重新渲染时,阻止img标签闪烁
我们的流程是这样的:
- 用户在ViewA
- 用户切换到ViewB
- 我们使用缓存的资源来呈现ViewB
- 我们开始获取资源
- 当资源被提取时,我们再次渲染
这有一个令人讨厌的缺点,即导致<img>
标签闪烁,永远如果它们是相同的。
问题是,我们使用的Backbone.js
没有告诉我们在获取集合时是否有任何变化,只是它被提取。
这里是我的意思是一个快速演示:http://jsfiddle.net/p7DdG/
它只是发生在WebKit和与<img>
标签,而不是与背景图像,你可以看到。
我们认为使用background-image
代替适当的img
标签有点丑。
有没有解决这个问题的方法?
你正在做每个'$('img')。replaceWith'自己吗? – 2012-02-28 16:23:26
在Chrome中没有看到任何闪烁。 – j08691 2012-02-28 16:47:46
所有的父容器都被删除并由我创建。我使用Chrome 18.0.1025.39测试 – 2012-02-29 07:47:04