0

我似乎对 SIFR3 有问题。我使用的是版本 436,从我的所有测试来看,这似乎是与 IE6 和 IE7 相关的问题,因为我无法在 Firefox、Chrome、Windows 的 Safari 甚至 IE8 中复制该问题。

问题出现在我公司的网站上,可以在这里看到:http ://www.wyldeia.co.uk/blog.php

当您第一次进入 IE6 或 IE7 中的页面时,它似乎呈现良好。但是,如果您单击另一页,然后单击浏览器中的后退按钮,则所有文本都将替换为“使用 sIFR3 修订版 436 渲染”的错误。如果您刷新页面,那么问题就会消失,直到您浏览并再次返回。

我已经在两台运行 IE7.0.6000.16809 的独立机器和另一台运行 IE6 的独立机器上进行了尝试,然后我将其升级到 IE8。我最初认为它可能与 Flash 播放器有关,但在从 Flash 播放器的版本 9 升级到 10 时,问题仍然存在。进一步挖掘表明,错误可能是由于 Flash 字体文件损坏,或者存在由 SIFR3 的先前版本生成的文件。但是,我已经使用提供的 fla 版本 436 导出了 flash 字体文件,但问题仍然存在。

通常我喜欢自己追踪答案,但因为我对此有点不知所措,所以如果有人对这里可能发生的事情有任何想法,我将非常感激!

问候,

标记

4

3 回答 3

1

我找到了一个解决方案,
如果您尝试用鼠标光标悬停,文本将显示正确,所以..

我只在检测到 IE9 时编写了几行代码来sifr-config.js
强制闪存重置onReplacemment回调。

您必须使用 Jquery 进行浏览器检测或使用其他 javascript 方式

请参阅以下链接: http ://www.voo-doo.net/robotphobia/2011/05/fix-sifr-ie9

于 2011-05-13T17:58:24.320 回答
0

我知道这可能发生的唯一情况是,如果innerHTMLsIFR 电影的祖先发生了变化。这会重置 Flash 影片 HTML,这在 IE 中会导致 Flash 变量丢失。通常 sIFR 可以解决这个问题,但如果更改发生在浏览器历史记录之后,它可能无法解决。

建议:

  1. 页面上是否运行设置innerHTML属性的代码?尝试禁用此功能。

  2. 尝试禁用任何非 sIFR 代码,看看是否有帮助。

  3. 设置sIFR.useDomLoaded = false;before sIFR.activate(),这会延迟 sIFR 初始化,直到页面加载,所以可能是什么原因导致这将在那个时候运行。

如果确实是这个问题,我认为没有任何解决方法。但肯定知道这是一件好事。

于 2009-03-17T22:26:33.253 回答
0

我有同样的症状,并通过将包含元素的字体大小设置为使用 px 而不是 em 来解决它。

于 2009-11-16T22:17:47.120 回答