Delphi 10.4 社区版的 WebBrowser 在安卓下的问题

在Delphi中制作以浏览器为界面的程序 网页浏览器是个显示网站服务器或文件系统内的文件,并让用户与这些文件交互的一种应用软件。它用来显示在万维网或局域网等内的文字、图像及其他信息,浏览器是最常用的客户端程序。在这篇教程中,小编主要为你介绍在Delphi中制作以浏览器为界面的程序。   相信有不少的朋友都希望将自己编写出来的应用程序制作成为以浏览器作为界面,然后只需要通过打开浏览器的方式来使用应用程序吧。大家以为这样子操作很 阅读详情

之前我写过一篇文章:Delphi APP 里面使用 HTML5 来做帮助文档,移植WebBroker进Android APP

在这篇文章里面,我提到把 HTML 的内容放进 SQLite 数据库,打包进 APP,然后使用 WebBrowser 通过内置的 Indy HTTP Server 访问数据库来显示 APP 发布给用户的帮助文档或者其它任意文档。

后来,为了不要在 APP 内部内置一个 Web Server,我试着程序启动后,将打包在 SQLite 数据库里面的 HTML, CSS, 以及页面中用到的图片,都以文件的形式,写入 TPath.GetDocumentsPath 路径下。

然后,在需要显示内容的时候,直接用:
WebBrowser1.URL := 'file://' + 文件名  的格式,用 WebBrowser 来显示这个 HTML 文件。

HTML 文件里面,还引用了一些 css 文件和 jpg 文件,也同时从数据库释放到同一个目录下。

上述方法,在 Delphi 10.3 社区版,编译为 Windows 版和安卓版,都执行成功。

同样的代码,到了 Delphi 10.4 社区版,在 Windows 底下执行成功,在安卓底下,出现错误提示:'The specified file was not found'.

反复测试,确定是 WebBrowser 的问题。然后发现 WebBrowser 有一个方法:LoadFromStrings

这个方法两个参数:一个是要加载的页面内容,是字符串;另外一个参数是 BaseURL,也是字符串。

使用 TStringList.LoadFromFile 方法加载 HTML 文件,然后:

var SL: TStringList;

WebBrowser1.LoadFromStrings(SL.Text, 'file://' + HTML文件名); 这句代码执行成功。

这里要注意,后面一个参数,BaseURL ,我采用文件名,前面加上【 file:// 】。

测试如果不加 file:// 则 HTML 页面内容倒是显示出来了,HTML 里面引用的图片没用显示,引用的 CSS 也没有起作用。

看起来,这应该是 Delphi 10.4 社区版的一个 bug. 可以多写几行代码绕过去。

delphi fmx android下播放网络视频MP4的方法 后来想到用webbrowser播放,android12测试通过,windows 测试通过。我用mediaplay 不知道怎么播放网络mp4视频,难道下载下来播放嘛?今天群里有人说mediaplay 安卓下播放网络视频报错。注意事项:看我的另一篇博客。 阅读详情

相关推荐

Android实例之利用WebBrowser实现浏览器

2.保证无毒 3.简单,方便,实用 4.实例可以自行改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用!

delphi 关于webbrowser,android端返回值问题

webbrowser 在android执行js没有返回值 WebBrowser1.EvaluateJavaScript(jsFunc); //Fix By Flying Wang and 爱吃猪头肉//procedure TCustomWebBrowser.EvaluateJavaScript(const JavaScript: string);function TCustomWebBrows...

weixin_33909059的博客 614

本人原创源代码:Delphi APP 内置 WebBroker 让界面显示HTML5

Delphi 开发的 APP 内置 WebServer 用SQLite数据库存储页面内容,界面显示HTML5文档无需访问远程网站服务器。

Delphi 安卓浏览器自定义UserAgent

Delphi以前做WebBrowser时(VCL方式)自定义浏览器UserAgent相对来说还是很方便的。在现在的跨平台开发中(FMX)想要自定义UserAgent就不行了,对应的WebBrowser控件已不支持修改默认UserAgent。 然而,我们很多时候还是需要使用到自定义的UserAgent,这里就介绍一下怎么实现安卓下的WebBrowser修改UserAgent。 方法一、简单直接,虽然WebBrowser控件没有直接给出修改或设置UserAgent的方法,但并不是说安卓下的浏览器不能修改Us

tanqth的专栏 1万+

delphi嵌入浏览器EmbeddedWB_Embedded_Web_Browser_17

delphi嵌入浏览器EmbeddedWB_Embedded_Web_Browser_17.0_Full_Source_Downloadly.ir

Delphi XE10.1.2 Android 文件选择保存对话框

修改flcop提供的代码,以适应Delphi xe10环境,版权归flcop所有

delphi中Webbrowser问题收集

 delphi中Webbrowser问题收集获得网页中变量值     htm中 var currID=123     程序中可以这么调用 id := Form1.WebBrowser1.OleObject.Document.script.currID     值得说明的是,变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个

iseekcode的专栏 1585

基于IC动态加权的机器学习多因子选股策略:从模型融合到实战回测

在量化投资领域,多因子选股模型通过挖掘市场数据中的有效信号来预测股票收益。其核心原理在于利用统计学与机器学习算法,从海量因子中识别出与未来收益具有稳定相关性的特征。这一技术的核心价值在于将主观投资决策转化为系统化、可重复的客观过程,从而在控制风险的前提下追求超额收益。其典型应用场景包括股票阿尔法策略构建、Smart Beta产品设计以及资产配置中的股票筛选环节。本文聚焦于如何通过信息系数(IC)这一关键指标,动态融合Ridge回归、MLP神经网络和随机森林等多个预测模型,构建一个能够自适应市场风格轮动的选股

weixin_34216614的博客 451

Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法

   刚有一段时间没做博客了,今天刚好有人问了这个问题,而自己以前也弄过,于是这里有了一篇新的博文。关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的,今天我就说一下这个alter对话框的修改和过滤的方法:很简单,只要咱们继承IDocHostShowUI这个接口,实现里面的ShowMessage方法就行了。废话不多说,代码在这里:

不得闲.闲忆居 4600

Unity动画状态机实战:Trigger和Bool参数到底怎么选?附5个常见场景解析

本文深入解析Unity动画状态机中Trigger和Bool参数的核心差异与应用场景。通过对比两者在描述瞬时事件与持续状态上的本质区别,并结合角色移动、攻击连招、跳跃落地、受击死亡及环境交互等5个实战场景,提供了清晰的选择逻辑与避坑指南,帮助开发者构建更健壮、易维护的动画逻辑。

weixin_29009501的博客 120

Palantir 产品架构深度解析:从本体到AI的决策智能平台

本文深度解析了Palantir决策智能平台的核心产品架构。其核心在于构建企业级的“本体”(Ontology),即业务世界的“数字孪生”,通过数据、逻辑、操作三层抽象统一语义。平台以此为基础,通过Foundry构建数字孪生,并通过AIP(人工智能平台)实现本体增强生成(OAG),将AI深度融入业务,形成从数据感知、智能分析到行动执行的完整决策闭环。

ooo22的博客 736

关于使用Delphi XE10 进行android开发的一些总结

如果说, 再有新项目, 让我选择用Java还是Delphi, 那么, 我会毫不犹豫的选择使用 Java....   不可否则, Delphi在界面上, 确实没的说, 搭建速度快, 所见即所得, 传说的一份代码多平台使用(确实可以在ios下运行, 但是也会存在不少问题)   但是, 由于以下几个问题, 导致我完全, 再也不想用Delphi做Android开发了: 1.  应用第三方Jar包...

ssxbxk的博客 3万+

从网格划分到端口接地:一份给ADS新手的Momentum RF仿真避坑实操指南

本文为ADS新手提供Momentum RF仿真的实用指南,涵盖网格划分、端口接地、特殊结构处理等关键设置技巧。通过30-50 cells/λ原则、1/10波长限制等黄金法则,帮助用户平衡仿真精度与效率,避免常见错误,提升电磁仿真结果的准确性。

weixin_33692284的博客 506

RAD Studio Delphi 10.4 Sydney悉尼中最受欢迎的五个新功能

RAD Studio Delphi 10.4 Sydney悉尼有许多很棒的新功能,但当被要求排在前五名时,我不得不进行很多取舍。这是我在RAD Studio Delphi 10.4 Sydney中最喜欢的五个新功能。欢迎加入Delphi开发局QQ群:32422310 1)新的TEdgeBrowser组件是构建Windows应用程序的一项重大进步。更好的是更新了TWebBrowser组件,使开发人员可以灵活地选择要使用的浏览器引擎:IEOnly,EdgeIfAvailable,EdgeOnly。以下是使用T

Delphi开发局QQ群:32422310 3702

使用petalinux做嵌入式设计开发(1)

1.创建vivado工程,建立硬件环境,最终导出hdf文件 既可以在windows系统下的vivado上编写硬件工程并导出hdf文件,也可以在linux系统下的vivado中编写硬件工程并导出hdf文件。(对于windows系统下导出的hdf文件还需要传递到linux系统下的文件夹中。) 2.以hdf硬件文件为基础创建,配置,编译,打包petalinux工程,导出linux系统所需镜像文件。 具体步骤: (0)设置环境变量 设置环境变量使得我们可以直接使用petalin...

plotup的博客 2076

SAP_MM模块采购价格确定控制简介

SAP MM模块采购价格确定控制是采购管理中的关键功能,系统通过"价格确定日期"判断条件记录有效性并带出正确价格。文章分析了四种常见业务场景及其对应的价格确定方案:普通采购订单(创建日期)、长期合同(交货日期)、特殊业务(手动输入)和接口下单(系统传入)。详细介绍了配置方法和前台操作步骤,并提供了不同业务类型对应的推荐控制方式汇总表。通过合理设置价格确定日期控制,企业可以确保采购价格准确性,满足各种复杂业务场景下价格管理的需求,从而提高采购管理效率和成本控制能力。

我小时候很黑的博客 738

delphi的WebBrowser应用一

WebBrowser 操作记要 WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForward; //前进 WebBrowser1.Navigate('...'); //打开指定页面 WebBrowser1.Navigate('about:blank'); //打开空页面 ----------------------------------

yahoha1的专栏 916

Spring AI 实战:如何使用 MCP Server 搭建 MCP 天气查询服务

MCP(Model Context Protocol)是 Anthropic 提出的一种开放协议,它定义了AI 模型与外部世界交互的标准方式。通俗地说:大模型本身只拥有训练数据中的知识,它不知道今天的天气、无法查询你的数据库、不能调用你的内部 API。MCP 就是解决这个问题的"桥梁"——它让模型能够发现并使用外部工具(Tools),就像人用手去操作工具一样。角色职责对应依赖MCP Server暴露工具(Tool),供模型调用MCP Client连接 Server,让模型发现和使用工具本文我们先聚焦。

SmartSi 760

Delphi WebBrowser始终在当前窗口打开新网页

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var PpDisp: IDispatch;   var Cancel: WordBool); begin   PpDisp := WebBrowser2.Application; end; procedure TForm1.WebBrowser2BeforeNavigat

RENYUAN 8116

stata 工具变量法【计量经济系列(七)】

stata 工具变量法【计量经济系列(七)】 1. 内生性 2. 工具变量3. 2SLS (二阶段最小二乘法) 4. 弱工具变量5. 工具变量外生性的过度识别检验 6. 豪斯曼检验6.1 传统豪斯曼 6.2 杜宾-吴-豪斯曼检验(DWH)

侯小啾技术博客 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

delphi WebBrowser的使用方法详解(三)

WebBrowser 操作记要 WebBrowser1.GoHome;  //到浏览器默认主页 WebBrowser1.Refresh;  //刷新 WebBrowser1.GoBack;  //后退 WebBrowser1.GoForward;  //前进 WebBrowser1.Navigate('...');  //打开指定页面 WebBrowser1.Navigate(

xtfnpgy 8129

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Delphi Webbrowser使用方法详解

1.webbroser介绍 该组件是一个浏览器组件,可以显示一个指定地址的网页、设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切、复制、粘贴、删除等操作。该组件在Internet组件页中,属于TWebbrowser类。它放在程序当中,可以像操作网页一样操作webbrowser控件。 2.webbrowser有哪些应用 webbrowser目前大...

weixin_30629653的博客 537

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

解决Delphi FMX Webbrowser控件无法释放

  在我的delphi工具箱项目中,之前已经实现了文本文件的编辑功能,经过简单修改后,可以打开HTML文件。这时突然有了一个新的想法:能不能用delphi的文本编辑器实现HTML文件编辑调试功能呢?说干就干,一开始的想法是想用delphi调用外部浏览器打开HTML文件,可是经过试验,华为安卓的默认浏览器不能打开本地HTML文件(输入file://文件路径+文件名后直接进入搜索功能),调用其他浏览器又感觉太过臃肿。这是想到了用Delphi自带的webbrowser控件,由于是临时调用,用完后关闭,所以选择了动

cz_012273的博客 755

delphi webbrowser用法集锦

delphiwebbrowser用法集锦 (2012-05-13 08:29:00) 标签: it 分类: 软件_Software WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForw...

weixin_30662539的博客 124

Delphi 中WebBrowser控件详解实例 转

<br />Delphi 中WebBrowser控件详解实例

fym_wlll的专栏_delphi学习之路 488
上一篇: 使用 Indy WEB Server 支持 https
下一篇: Delphi 10.4 社区版安卓下蓝牙的一个问题
pcplayer
博客等级 码龄26年 633粉丝 284原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值