Delphi写注册表改变App内嵌TWebBrowser浏览器运行时的内部版本号

本文介绍了如何通过修改注册表来定制TWebBrowser组件在Delphi应用程序中使用的IE内核版本,以解决因内核版本不匹配导致的JavaScript错误。在Win11环境下,即使系统安装了Edge,TWebBrowser仍会调用IE内核。通过设置`FEATURE_BROWSER_EMULATION`注册表键值,可以调整内核版本以适应不同网页需求。
摘要由CSDN通过智能技术生成

Delphi写注册表改变App内嵌TWebBrowser或TEdgeBrowser浏览器运行时的内部版本号

1、为何需要这么做

        默认情况下,无论Win7、还是Win10,或Win11,也无论其上是否安装有IE、Edge或其它任何浏览器,只要App内部嵌入的是TWebBrowser浏览器,就会存在其对应的IE的内核版本问题,以因为此时是调用的操作系统DLL在工作。

        当你加载的页面,其Javascript如果报了非语法性的错误,就说明IE的内核版本不正确,默认情况下TWebBrowser调用的IE内核为IE4.0。比如,调用百度网盘API时,Win11下App内嵌页面报错:

        其实Win11默认安装时就没有安装IE浏览器,安装的是Edge浏览器。

        但你的App嵌入的TWebBrowser是IE,就需要按照IE的“内核”的游戏规则来工作。当然,如果你的浏览器嵌入TEdgeWebBrowser,自然就会按Edge“内核”来工作。

2、如何客制化IE内核运行时的版本

        默认情况下,IE为用户程序提供的内核版本的内部版本号为IE4.0,需要你客制化针对某个应用载入的IE的内部版本号,方法如下:

        64位--------------

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

        32位--------------

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

3、Delphi读写注册表方法

        (略),网上一大堆。

4、附1:IE开发功能键等特征控制的注册表项

Internet Feature Control Keys (Internet Explorer) | Microsoft Docs

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专讲冷知识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值