https加载http资源,导致ios手机上的浏览器图片加载问题

作者在解决线上bug时发现,同样图片在安卓手机可正常展示,iOS手机首次进入页面却不能,本地环境正常,线上问题复现率100%。经排查,是网站访问强制切换https协议,而接口提供的图片资源是http协议,https加载http资源会被浏览器默认阻止。

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

今天解决一个线上bug的时候发现的问题,如下图:

从表象来看,同样的图片,安卓手机上可以正常展示,但是到ios手机上首次进入页面就不能正常显示图片,必须手动刷新一次页面才能正常加载。

这时候,我们首先会考虑是不是ios设备的兼容问题?

于是乎,第一想到的就是问度娘,ios手机浏览器不能正常展示图片是什么原因?这么泛泛的问题,想找到你的答案如同大海捞针。

其次想到的就是在本地环境调试一下,结果测试机在本地环境看是正常的,线上环境看问题复现率100%。这时就想着看看图片资源路径有什么差异,为什么上面的图片不展示,下面的都正常展示了?

答案是:我们网站访问强制切换https安全协议,而接口提供的图片资源时http协议的。于是就引发了上面的问题,因为https地址中,如果加载了http资源,浏览器将认为这是不安全的资源,将会默认阻止,这就会给你带来资源不全的问题了,比如:图片显示不了,样式加载不了,JS加载不了。

参考文章:

https://www.cnblogs.com/yougewe/p/7440008.html

转载于:https://www.cnblogs.com/qiujianmei/p/10827254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值