【问题标题】:sIFR 3 issue (IE) with BlockUI and UpdatePanel带有 BlockUI 和 UpdatePanel 的 sIFR 3 问题 (IE)
【发布时间】:2010-12-16 23:41:21
【问题描述】:

我在使用 sIFR 3、jQuery BlockUI 和 UpdatePanel 时遇到了问题,页面刷新并且 SIFR 字体消失了。

在我用来处理 UI 的阻塞和解锁的 Javascript 文件中,我检测到部分回发并解锁 UI:

prm.add_endRequest(function() { $.unblockUI(); });

如果我在此代码块中重新运行 sIFR.replace(),则会呈现字体 sIFR 字体,但 # 字符正在替换我的页面标题(在浏览器窗口/选项卡的顶部)。这似乎只发生在 IE 中(如图。)每次我使用 LinkBut​​ton 刷新页面时,都会添加一个额外的 # 字符,因此我的页面标题最终看起来像“#########”。知道为什么会这样吗?

我应该运行一个特定的 sIFR.update() 函数吗?如果我执行 sIFR.redraw() 或 sIFR() 我会收到 javascript 运行时错误。

【问题讨论】:

    标签: updatepanel sifr blockui


    【解决方案1】:

    这是由 IE 中的错误引起的:

    这是 IE 中一个非常特殊的错误,对于页面中的每个 Flash 电影,URI 的片段标识符部分 (#foo) 在文档标题中重复。 Macromedia 报告说,可以通过更新浏览器使用的 VBScript 引擎来修复此错误。但是,对于那些仍然有错误引擎的用户,sIFR 包含一个解决方法。 http://wiki.novemberborn.net/sifr/Fragment+Identifier+Bug

    sIFR 3 有一个解决方法,但它不会启动,除非页面加载了片段标识符 (window.location.hash != "")。在你的情况下,我假设页面加载时没有标识符,然后你添加一个,然后你重新运行替换,重新调用错误。

    您可以通过打开(压缩版本)sifr.js 并将this.fix=c.ua.ieWin&&window.location.hash!="" 替换为this.fix=c.ua.ieWin 来修补r436。

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 2011-02-07
      • 2011-08-29
      相关资源
      最近更新 更多