WPF Webbrowser - 在 IE11 上访问文档正文
WPF Webbrowser - Access to Document Body on IE11
我正在开发一个桌面应用程序,它将 GUI 层作为嵌入式资源存储在 html 文件中。我有一个管理用户界面生命周期的 WPF Web 浏览器。我能够毫无问题地完成所有工作。但我最近发现,当启用 FEATURE_BROWSER_EMULATION 到 IE 11 (11000) 时,文档正文变得不可访问。然后,当使用 IE 10 (10000) 时一切正常。
下面的例子展示了如何获取文档正文的OffsetHeight:
dynamic document = (this.wbContent.Document as dynamic);
if ((document == null) || (document.body == null)) return 0;
return document.body.OffsetHeight;
HTML是:
<html>
...
<body style="width: 170px; height: 240px">
...
</body>
</html>
使用 IE 11 时会抛出类型为 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 的异常。
使用 IE 10 时 returns 240.
您知道如何在 IE 11 上访问正文吗?
由于我没有得到任何关于解决问题的答案,我不得不使用技巧来解决这个错误。所做的是在 html 文件上放置一个简单的 JavaScript,因此我调用方法 window.resizeTo(a, b)。调用此事件后,应用程序恢复正常,但我实际上不知道为什么。
我正在开发一个桌面应用程序,它将 GUI 层作为嵌入式资源存储在 html 文件中。我有一个管理用户界面生命周期的 WPF Web 浏览器。我能够毫无问题地完成所有工作。但我最近发现,当启用 FEATURE_BROWSER_EMULATION 到 IE 11 (11000) 时,文档正文变得不可访问。然后,当使用 IE 10 (10000) 时一切正常。
下面的例子展示了如何获取文档正文的OffsetHeight:
dynamic document = (this.wbContent.Document as dynamic);
if ((document == null) || (document.body == null)) return 0;
return document.body.OffsetHeight;
HTML是:
<html>
...
<body style="width: 170px; height: 240px">
...
</body>
</html>
使用 IE 11 时会抛出类型为 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 的异常。
使用 IE 10 时 returns 240.
您知道如何在 IE 11 上访问正文吗?
由于我没有得到任何关于解决问题的答案,我不得不使用技巧来解决这个错误。所做的是在 html 文件上放置一个简单的 JavaScript,因此我调用方法 window.resizeTo(a, b)。调用此事件后,应用程序恢复正常,但我实际上不知道为什么。