详解微信小程序「渲染层网络层错误」的解决方法


Posted in Javascript onJanuary 06, 2021

问题描述:

情况是这样的,我需要在小程序中通过image标签显示三张我的图片,毫无疑问,其重点部分肯定在image的src属性上,请看思路分析:

我们可以新建一个专门放图片的文件夹,然后将我们项目所需要的图片文件全部放到这里。但是这会引发一个问题:微信官方对上线的小程序有大小的限制,所以如果你只是本地跑跑,那无可厚非,你开心就好;如果要做上线,这种方法的可行度不高;

使用外部链接。成功发布过小程序的小伙伴们都知道,外部链接必须使用https协议,且所使用域名必须设置在request合法域名列表中,这就为我们指明了三个途径:

  • 使用图床来存储我们的图片文件,然后使用其链接就好;
  • 自建网站,但必须使用https协议(下文中所使用外部图片均存储在我自己的服务器上);
  • 使用微信小程序云存储(我认为很香的方法咯)

开发环境基本信息:

微信开发者工具:RC 1.03.2011111

调试基础库:2.14.1

出现bug的代码及报错信息:

<image src="https://www.shipudong.com/otherFiles/MyImage/%E7%9F%B3%E7%92%9E%E4%B8%9C.jpg"></image>
<image src="https://www.shipudong.com/otherFiles/MyImage/%E7%9F%B3%E7%92%9E%E4%B8%9C_hahaCoder.jpg"></image>
<image src="https://www.shipudong.com/otherFiles/MyImage/%E7%9F%B3%E7%92%9E%E4%B8%9C_book.jpeg"></image>

首先,我们明确一点哈,上述三行代码没有一丢丢的语法错误哈~

详解微信小程序「渲染层网络层错误」的解决方法

既然没有语法错误,为什么会报错呢?

究其原因,还是因为异步请求需要一定的时间,而小程序一进页面就开始加载,请求速度没跟上,这时页面显示加载的时候image里面的值是空的,就会出现渲染层、网络层错误。

所以既然是加载速度的原因,我们完全可以让其完全加载完成之后在显示,所以我们可以通过拖延加载时间的方法来解决这个bug,小伙伴们是不是想到了定时器、async等,别,千万别,就是个图片显示的事,用不着大动干戈,小心走火入魔,哈哈哈,接下来我们介绍两种比较性价比比较高的方法。

解决方案:

修改调试基础库版本

在开发环境基本信息一部分中,我们已说明上述报错代码所依赖的调试基础库版本信息,这里我们不需要修改任何代码,只需要修改一下版本信息即可让代码跑通,请看修改信息:

详解微信小程序「渲染层网络层错误」的解决方法

使用微信小程序云开发

关于云开发环境的初始化,这里我们不再赘述,我们直接贴出云函数的实现代码,以及本地获取可用https链接的代码,请看代码:

首先,我们上传三张我们项目所需要的图片文件,请看:

详解微信小程序「渲染层网络层错误」的解决方法

接着我们在我们新建的云函数中编写如下代码,并对其进行增量上传、更新文件(我们所定义的云函数名为ImgURL):

详解微信小程序「渲染层网络层错误」的解决方法

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
 const fileList = [
  'cloud://hahacoder-2gfmedh2dc1701dd.6861-hahacoder-2gfmedh2dc1701dd-1304334959/石璞东.jpg', 
  'cloud://hahacoder-2gfmedh2dc1701dd.6861-hahacoder-2gfmedh2dc1701dd-1304334959/石璞东_hahaCoder.jpg',
  'cloud://hahacoder-2gfmedh2dc1701dd.6861-hahacoder-2gfmedh2dc1701dd-1304334959/石璞东_book.jpeg'
  ]
 const result = await cloud.getTempFileURL({
   fileList: fileList,
  })
   return result.fileList
}

接着我们在本地js文件中编写如下代码:

data: {
  imgURL:[]
 },
 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  
  let that = this
  wx.cloud.callFunction({
   name:"ImgURL",
   success(res){
    that.setData({
     imgURL : res.result
    })
   }
  })
 }

最后,我们来到wxml页面,通过列表渲染来展示这三张图片,请看代码:

<view class="image" wx:for="{{imgURL}}" wx:key="index">
 <image src="{{item.tempFileURL}}" mode="scaleToFill"></image>
</view>

嗯,最后完美显示了出来,好帅呀?

详解微信小程序「渲染层网络层错误」的解决方法

到此这篇关于详解微信小程序「渲染层网络层错误」的解决方法的文章就介绍到这了,更多相关小程序 渲染层网络层错误内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
IE与firefox下Dhtml的一些区别小结
Dec 02 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 Javascript
Javascript正则控制文本框只能输入整数或浮点数
Sep 02 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
Nov 12 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
Jan 16 Javascript
Vue.js学习之计算属性
Jan 22 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
May 18 Javascript
2种简单的js倒计时方式
Oct 20 Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
JavaScript 中的六种循环方法
Jan 06 #Javascript
JavaScript的一些小技巧分享
Jan 06 #Javascript
详解Vue2的diff算法
Jan 06 #Vue.js
如何利用JavaScript编写一个格斗小游戏
Jan 06 #Javascript
vuex的使用步骤
Jan 06 #Vue.js
一篇文章看懂JavaScript中的回调
Jan 05 #Javascript
原生js中运算符及流程控制示例详解
Jan 05 #Javascript
You might like
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
Python sys.argv用法实例
2015/05/28 Python
python通过ssh-powershell监控windows的方法
2015/06/02 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
python字符串连接方法分析
2016/04/12 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
实例详解Python模块decimal
2019/06/26 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
学习Python需要哪些工具
2020/09/04 Python
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
毕业生自我鉴定范文
2013/11/08 职场文书
村委会贫困证明
2014/01/14 职场文书
技校个人求职信范文
2014/01/25 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
中学校庆方案
2014/03/17 职场文书
信仰纪录片观后感
2015/06/08 职场文书