我们知道Internet Explorer将在Windows 10中停止使用,由新的Microsoft Edge(以前的代号为" Project Spartan")取代。
有数百万个使用TWebbrowser的应用程序,这是一个使用Internet Explorer API的组件。
是否有人了解这些应用程序在未来版本的Windows中如何运作?我们如何准备好让我们的应用程序在未来的Windows版本中运行?
答案 0 :(得分:5)
根据IE Blog
Internet Explorer 11将与Windows 8.1保持根本不变,继续专门托管旧版引擎。
因此IE(和mshtml.dll)不会消失,它将存在于Windows 10中以实现向后兼容性,因此TWebbrowser仍应在下一版本的Windows中运行。
答案 1 :(得分:2)
(编辑问题已修复,最终解决方案)
我使用WebBrowser OCX进行Delphi 2006(32位)应用程序。我写FEATURE_BROWSER_EMULATION / myapp.exe = 0注册表值以获得最高的IE渲染模式。通过WinXP-Win7-Win8-Win10(最新补丁之前)工作正常。最新的补丁在某处进行了更改,现在webbrowser canvas是空白的,但在任何地方都没有错误。
它仍在调用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,与Gecko一样)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.9600
myapp.exe(补丁10074) Mozilla / 5.0(Windows NT 6.2; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0
myapp.exe(补丁10131) Mozilla / 5.0(Windows NT 6.2; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.9200
Win10_patch_10074环境工作正常,但patch_10131呈现空白但调用初始http请求。它不会在响应html页面中调用任何链接。我的应用程序未被修改。
如果有帮助,我需要测试降低注册表值,但不幸的是将IE模拟级别限制在低于可用的水平。
ps:我的Delphi2006已经很老了,但我不打算再升级了,它将创建32位应用程序。遗留问题,但这是一个软件现实。
This blog has more about feature_browser_emulation
编辑我从this Microsoft provided table获取了最高的IE11值,现在一切正常。我设置了11001(0x2AF9)注册表值。
HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION
myapp.exe = 11001(0x2AF9)
myapp(补丁10131,11001注册表):Mozilla / 5.0(Windows NT 6.2; WOW64; Trident / 7.0; rv:11.0),如Gecko