千家信息网

html5移动网页图片无法加载怎么解决

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本文小编为大家详细介绍"html5移动网页图片无法加载怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"html5移动网页图片无法加载怎么解决"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入
千家信息网最后更新 2025年01月19日html5移动网页图片无法加载怎么解决

本文小编为大家详细介绍"html5移动网页图片无法加载怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"html5移动网页图片无法加载怎么解决"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

由于公司业务需要,vue制作的网页需要连接智能家居的wifi,然而这种wifi是没有连接互联网的,仅用于手机与家居的对接。这样,就导致了网页在这种wifi下无法加载服务器上的图片。

就此,针对vue单页面系统,我想出来3种方案。

1.在上一页先加载图片,缓存起来,后面的断网页面就能拿到了。

2.做一个页面,上方是路由容器,放置断网后的页面,下方是需要显示的全部图片。这样页面加载时,图片就全部出来了,上方的子路由自然能拿到图片。

3.把图片转换成base64数据保存在localStorage。

第1、2种方案比较简单,在pc上和安卓平台上表现良好。然而在ios上却不显示。

由此推测,ios系统类浏览器对图片的加载是一个萝卜一个坑的。加载每个图片前会先嗅探其是否在服务器上,存在且未改变就是用缓存显示,没找到就直接404了。因此基于浏览器的缓存策略在断网的情况下并不理想。,需要使用第三种方案。先贴上代码:

  /*  获取图片的base64码        * @param {obj}img图片dom对象         * */        function getBase64Image(img) {          let canvas = document.createElement("canvas");          canvas.width = img.width;          canvas.height = img.height;          let ctx = canvas.getContext("2d");          ctx.drawImage(img, 0, 0, img.width, img.height);  //绘制相同图片          return canvas.toDataURL("image/png"); //转换成base64数据        }

利用canvas可以很容易实现把图片转换成base64格式。之后只要保存在sessionStorage里面就可以了。之后重新显示图片时,只要设置img的src属性为base64数据就可以了。我在vue项目里面的做法是,创建一个用于转换和保存base64的组件,把slot里面的图片全部转换成base64,并为img标签创建name属性并作为sessionStorage的key;再创建一个组件作为显示组件(只包含一个img标签),设置其name属性和其对应的图片的一样,作为key来取出sessionStorage的base64数据就ok了。

转换和保存组件:

                                                                                                   

显示组件:

读到这里,这篇"html5移动网页图片无法加载怎么解决"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

图片 网页 组件 页面 数据 移动 属性 文章 方案 缓存 内容 服务器 标签 浏览器 系统 路由 家居 服务 浏览 妥当 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手机连接不上服务器网速慢 暴雪亚洲服务器是什么机器 ipad验证密码服务器连接失败 app服务器方案 券商的软件开发 世界互联网大会蚂蚁科技 网络安全要关闭的端口 宝山区管理软件开发诚信合作 数据中心服务器如何设置信息点数 品质的网络安全零信任 华为弹性云服务器centos 防止迷恋网络安全教育班会 计算机网络安全管理基础知识 计算机服务器施工方案 网络安全方面的警察安全吗 存储数据库技术 厦门巨奥网络技术有限公司 校园网络安全flash 数据库查询语句降序 零售系统软件开发方案 数据库原理和应用模型 redis 多服务器配置 达梦数据库等保测评方法 遂宁app与软件开发费用 辽宁太阳线软件开发 华为优招 网络技术工程师 计算机科学网络技术通信技术 数据库工程师需要学的技术 成都华为软件开发待遇怎么样 网络安全工作责任制工作总结
0