【发布时间】:2012-11-09 15:10:37
【问题描述】:
更新:有解决该问题的方法。它是通过包含以下元标记之一来强制 IE10 进入兼容模式:
<meta http-equiv="x-ua-compatible" content="IE=7" />
<meta http-equiv="x-ua-compatible" content="IE=8" />
由于各种原因,这并不是一个真正完美的解决方案,但它至少消除了问题。
原始问题:
几个月前,我意识到我们在 Windows 8 上的 IE10 中的 Silverlight 应用程序存在问题(我还没有尝试过 Windows 7 的 IE10 预览版)。当托管我们的 SL 应用程序的 asp.net 页面首次加载时,一切正常,应用程序按预期加载。如果我立即刷新页面,它也会按预期重新加载。但是:如果我通过单击来聚焦 Silverlight 应用程序,然后按 F5,它就会变成空白。就像插件完全消失了一样。如果我使用 Fiddler 跟踪请求,我可以看到没有为 xap 文件发出请求。我一直希望这会在 IE10 的补丁版本中得到修复,但到目前为止没有任何改变。当我尝试谷歌搜索时,我找不到任何关于此的信息。我似乎不太可能成为第一个发现它的人,而且我很惊讶我没有找到更多信息。重现问题:
- 创建一个新的 Silverlight 应用程序
- 向 MainPage.xaml 添加某种内容,例如按钮或其他内容
- 在 IE10 中运行应用程序(在 Win8 上)
- 单击 Silverlight 应用程序中的任意位置。这只是为了关注插件。
- 刷新页面 (F5)
- 结果:Silverlight 应用程序未加载且页面为空白。
一些观察:
- 完成上述步骤后,再多的刷新也无法恢复应用程序。
- 完成上述步骤后,如果我在地址栏中重新输入 url 并按 Enter,应用程序将按预期加载。
- 如果我在 IE 中启用兼容性视图,应用程序也会按预期加载。启用兼容性视图后,我所做的任何事情都不会重现该错误。
现在我的问题:
- 有其他人观察到这种行为吗?
- 如果是,您是否找到了解决方法?
【问题讨论】:
-
Chris 的解决方案很有魅力,我认为这是一个很好的解决方法。
标签: silverlight internet-explorer windows-8 refresh internet-explorer-10