BlockUI 和 UpdatePanel 的 sIFR 3 问题 (IE)
我在使用 sIFR 3、jQuery BlockUI 和 UpdatePanel 时遇到问题,页面刷新且 SIFR 字体消失。
在我用来处理 UI 的阻塞和解锁的 Javascript 文件中,我检测到部分回发并解锁 UI:
prm.add_endRequest(function() { $.unblockUI(); });
如果我在此代码块中重新运行 sIFR.replace(),则会呈现 sIFR 字体,但 # 字符正在替换我的页面标题(在浏览器窗口/选项卡的顶部)。这似乎只发生在 IE 中(如图)。每次我使用 LinkButton 刷新页面时,都会添加一个额外的 # 字符,因此我的页面标题最终看起来像“#########”。知道为什么会发生这种情况吗?
我是否应该运行特定的 sIFR.update() 函数?如果我执行 sIFR.redraw() 或 sIFR() 我会收到 javascript 运行时错误。
I am experience an issue using sIFR 3, jQuery BlockUI and an UpdatePanel where the page refreshes and the SIFR font disappears.
In the Javascript file I use to handle the blocking and unblocking of the UI, I detect the partial postback and unblock the UI:
prm.add_endRequest(function() {
$.unblockUI(); });
If I re-run sIFR.replace() in this code block the font sIFR font is rendered, but # characters are replacing my page title (in the top of the browser window/tab). This seems to only happen in IE (go figure.) Each time I refresh the page using the LinkButton an extra # character is added, so my page title ends up looking like "#########". Any idea why this is happening?
Is there a specific sIFR.update() function I should be running instead? If I execute sIFR.redraw() or sIFR() I get javascript run time errors.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是由 IE 中的一个错误引起的:
sIFR 3 有一个解决方法,但除非页面加载了片段标识符 (
window.location.hash != ""
),否则它不会启动。在您的情况下,我假设加载的页面没有标识符,然后添加一个,然后重新运行替换,重新调用该错误。您可以通过打开
sifr.js
(压缩版本)并替换this.fix=c.ua.ieWin&&window.location.hash!="" 通过
this.fix=c.ua.ieWin
。This is caused by a bug in IE:
sIFR 3 has a workaround but it doesn't kick in unless the page is loaded with a fragment identifier (
window.location.hash != ""
). In your case, I assume the page is loaded without the identifier, then you add one, and then you re-run replacements, reinvoking the bug.You can patch r436 by opening (the compressed version of)
sifr.js
and replacingthis.fix=c.ua.ieWin&&window.location.hash!=""
bythis.fix=c.ua.ieWin
.