QT在Ubuntu上加载地图HTML文件白屏

在Ubuntu中加载本地HTML文件时,需将QWebEngineSettings的LocalContentCanAccessRemoteUrls设置为true以访问远程百度地图资源。此举可能增加安全风险,务必确保只信任的源和API权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 this->settings()

->setAttribute(QWebEngineSettings::WebAttribute::LocalContentCanAccessRemoteUrls, true);

在Ubuntu系统上加载本地百度地图的HTML文件时,需要将LocalContentCanAccessRemoteUrls设置为true才能显示地图,否则显示为空白页面。

这是因为百度地图的JavaScript代码和相关资源文件通常存储在远程服务器上,而你的本地HTML文件是通过协议加载的。根据浏览器的安全策略,通过协议加载的本地文件默认无法访问远程file://资源file://(跨域访问),以防止潜在的安全风险。

通过将LocalContentCanAccessRemoteUrls设置为true,您允许本地文件访问远程URL,从而使百度地图的相关资源能够加载和显示。

请注意,启用LocalContentCanAccessRemoteUrls选项可能会带来一定的安全风险,因为本地内容可以访问任何远程URL。确保您的本地文件来源可信,并且仅允许访问您信任的远程URL。

另外,在使用百度地图或其他地图服务时,还需要确保您拥有正确的API按键或访问权限,以便能够成功加载地图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值