【问题标题】:TWebbrowser in Windows 10: Microsoft Edge (formerly Spartan) / Internet Explorer legacy issuesWindows 10 中的 TWebbrowser:Microsoft Edge(以前称为 Spartan)/Internet Explorer 遗留问题
【发布时间】:2015-06-12 04:59:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: internet-explorer twebbrowser windows-10 microsoft-edge


    【解决方案1】:

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

    我有使用 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 边缘/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 边缘/12.9200

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

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

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

    This blog has more about feature_browser_emulation

    edit 我从this Microsoft provided table 获得了最高的 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) like Gecko

    【讨论】:

      【解决方案2】:

      根据IE Blog

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

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 2017-09-24
      • 2015-11-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多