【发布时间】:2014-01-03 11:27:55
【问题描述】:
我们的网络应用完全用 JS 构建。
为了让它更快捷,我们在页面视图之间缓存资源(模型),并在您查看页面时重新加载资源。
我们的流程是这样的:
- 用户在 ViewA 中
- 用户切换到 ViewB
- 我们使用缓存的资源来渲染 ViewB
- 我们开始获取资源
- 获取资源后,我们再次渲染
这有一个令人讨厌的缺点,即导致<img> 标记闪烁,即使它们相同。
问题是我们使用的Backbone.js 并没有告诉我们在获取集合时是否有任何变化,只是告诉我们它被获取了。
这是我的意思的快速演示:http://jsfiddle.net/p7DdG/
它只发生在 webkit 和 <img> 标签中,而不是你可以看到的背景图像。
我们认为使用background-image 而不是正确的img 标签有点丑。
有什么解决办法吗?
【问题讨论】:
-
每个
$('img').replaceWith都是你自己做的吗? -
在 Chrome 中看不到任何闪烁。
-
所有父容器都由我删除和创建。我正在使用 Chrome 18.0.1025.39 测试版
-
这似乎是一个 Chrome(osx - 未测试的 Windows)错误 - 除了背景图像之外找不到任何其他解决方案,所以现在它是我害怕的唯一修复 - 丑陋与否至少它有效:)
-
他们现在已经修好了,问题解决了:)