问题在IE6和IE7上使用修订版436呈现SIFR

时间:2009-03-17 12:58:46

标签: internet-explorer internet-explorer-6 internet-explorer-7 sifr

我似乎遇到了SIFR3的问题。我正在使用版本436,在我的所有测试中,它似乎是与IE6和IE7相关的问题,因为我无法在Firefox,Chrome,Safari for Windows甚至IE8中复制该问题。

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

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

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

通常我喜欢自己跟踪答案,但因为我在这个问题上有点失落,所以如果有人有任何想法,那么我会非常感激!

此致

标记

3 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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

建议:

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

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

  3. sIFR.useDomLoaded = false;之前设置sIFR.activate(),这会延迟sIFR初始化直到页面加载,因此可能导致此操作的任何内容都会在此时运行。

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

答案 2 :(得分:0)

我有相同的症状并通过将包含元素的font-size设置为使用px而不是em来解决它。