6

我们知道 Internet Explorer 将在 Windows 10 中停产,取而代之的是新的 Microsoft Edge(以前代号为“Project Spartan”)。

有数百万个应用程序使用 TWebbrowser,这是一个使用 Internet Explorer API 的组件。

有人知道这些应用程序将如何在未来版本的 Windows 中工作吗?我们如何准备好让我们的应用程序在未来的 Windows 版本中正常工作?

4

2 回答 2

5

根据IE 博客

Internet Explorer 11 将与 Windows 8.1 基本保持不变,继续专门托管旧版引擎。

因此 IE(和 mshtml.dll)不会消失,它将存在于 Windows 10 中以实现向后兼容性,因此 TWebbrowser 应该仍然可以在下一版本的 Windows 中工作。

于 2015-04-07T19:14:29.117 回答
3

编辑问题已修复,最终解决)

我有使用 WebBrowser OCX 的 Delphi 2006(32 位)应用程序。我写 FEATURE_BROWSER_EMULATION/myapp.exe = 0 注册表值来获得最高的 IE 渲染模式。通过 WinXP-Win7-Win8-Win10(在最新补丁之前)运行良好。最新的补丁在某处进行了更改,现在 webbrowser 画布是空白的,但任何地方都没有错误。

它仍在调用 http 请求,所以并没有完全破坏,只是没有在屏幕上呈现任何内容。Myapp 请求使用的是 Spartan useragent(Edge/12),这在我请求最高功能仿真时是有道理的。

这是 Win10 补丁 10074->10131 之前/之后来自独立浏览器和 myapp 的用户代理列表。

IE Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) 像 Gecko

Spartan Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.9600

myapp.exe (patch 10074) Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

myapp.exe(patch 10131) Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.9200

Win10_patch_10074 环境运行良好,但 patch_10131 呈现空白但调用初始 http 请求。它不会调用响应 html 页面中的任何链接。我的应用程序没有被修改。

如果有帮助,我需要测试降低注册表值,但不幸的是,将 IE 仿真级别限制为低于可用级别。

ps:我的Delphi2006确实老了,但我不会再升级了,它会创建32位的应用程序。遗留问题,但那是软件现实。

这个博客有更多关于 feature_browser_emulation

编辑我从这个微软提供的表格中获得了最高的 IE11 值,现在一切正常。我设置了 11001(0x2AF9) 注册表值。

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
myapp.exe = 11001(0x2AF9)

myapp(patch 10131, 11001 registry): Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) 像 Gecko

于 2015-05-22T08:13:33.007 回答