【问题标题】:Problem Rendering SIFR with revision 436 on IE6 and IE7在 IE6 和 IE7 上使用修订版 436 渲染 SIFR 时出现问题
【发布时间】:2012-11-22 16:38:43
【问题描述】:

我似乎对 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 播放器有关,但在从 Flash 播放器的版本 9 升级到 10 时,问题仍然存在。进一步挖掘表明,错误可能是由于 Flash 字体文件损坏,或者存在由 SIFR3 的先前版本生成的文件。但是,我已经使用提供的 fla 版本 436 导出了 flash 字体文件,但问题仍然存在。

通常我喜欢自己寻找答案,但我对此有点茫然,所以如果有人对这里可能发生的事情有任何想法,我将非常感激!

问候,

标记

【问题讨论】:

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


    【解决方案1】:

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

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

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

    请看下面的链接: http://www.voo-doo.net/robotphobia/2011/05/fix-sifr-ie9

    【讨论】:

      【解决方案2】:

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

      建议:

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

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

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

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

      【讨论】:

      • 嗨,马克,感谢您的回复,原来问题是由设置 innerHTML 属性的代码引起的。删除后,sIFR 开始在 IE6 和 IE7 中正常工作。非常感谢您为我指明了正确的方向!干杯,马克
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-07
        • 2010-10-20
        • 1970-01-01
        相关资源
        最近更新 更多