plus初始化原理及plus is not defined,mui is not defined 错误汇总
原文
关于plus是哪里来的问题
plus是5+Runtime的内部对象。
就像chrome浏览器里有chrome.开头的一些对象方法,5+runtime内部内置了plus对象。
因为plus和mui不一样,plus是引擎级别的,不需要前端框架。而mui是前端框架,所以是要引入mui.js才能使用的。
不要在没有plus和mui的环境下调用相关API
普通浏览器里没有plus环境,只有HBuilder真机运行、打包后、或流应用环境下才能运行plus api。在普通浏览器里运行时plus api时控制台必然会输出plus is not defined错误提示。mui作为一个前端框架,你必须保证当前页面引入了mui.js。否则也会出现mui is not defined。
不要在plus和mui未完成初始化时调用相关API
就像在dom初始化完成前(DOMContentLoaded)去操作dom,就会报错是一样的道理。plus和mui都需要初始化,在初始化完成后调用再调用。一般我们在plusready的回调事件里调用plus api。
document.addEventListener('plusready',function () { // 在这里调用plus api },false);
执行更高效的写法是这样,如果plus已经存在,就直接使用
function plusReady(){ // 在这里调用plus api } if(window.plus){ plusReady(); }else{ document.addEventListener('plusready',plusReady,false); }
mui框架对此进行了封装,写法更简单:
mui.plusReady(function(){ // 在这里调用plus api });
事实上,mui作为一个框架,也有初始化的过程,但mui的初始化过程在DOMContentLoaded完毕后就结束了。mui ready的写法是这样,但一般无需使用。
mui.ready(function () { })
关于加载顺序
plus的ready的时间,在2016年12月后的ios版本上,其实是随时可用状态,不需要plus ready概念,但为了保持向下兼容,也仍然存在plus的ready事件;而安卓版本,plus的ready的时间是可以调节的。具体参考http://ask.dcloud.net.cn/article/921
而mui的ready一般伴随DOMContentLoaded而完成。
详细的启动时序参考这里:http://ask.dcloud.net.cn/article/571
转载于:https://www.cnblogs.com/lmg-jie/p/8480005.html
plus初始化原理及plus is not defined,mui is not defined 错误汇总相关推荐
- plus初始化原理及plus is not defined,mui is not defined 汇总
关于plus是哪里来的问题 plus是5+Runtime的内部对象. 就像chrome浏览器里有chrome.开头的一些对象方法,5+runtime内部内置了plus对象. 因为plus和mui不一样 ...
- Windows 11 L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误
错误描述:" L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误" 事件查看器中没有错误代码显示. Windows 10 L2TP/IPsec Manu ...
- mui is not defined的原因
今天调试的时候,显示mui is not defined,如下图所示 原因是我自己写的index.js文件导入的时候放在了mui.js之前,导致加载index.js文件的时候还没有加载mui.js文件 ...
- win10内置vpn连接出现的一个错误——L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误
并不是每台电脑都会出现这个错误,因电脑环境而异 错误描述 " L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误"` 处理方法–两种 亲测第二种完美解决 ...
- inputstream 初始化_如何完美回答面试官问的Mybatis初始化原理!
前言 对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. MyBatis的初始化做了什么 MyBatis基于XML配置文件 ...
- 当面试官问我Mybatis初始化原理时,我笑了
对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. MyBatis的初始化做了什么 MyBatis基于XML配置文件创建C ...
- 110:Mybatis初始化原理
对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. MyBatis的初始化做了什么 MyBatis基于XML配置文件创建C ...
- Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总
1.通过@javax.annotation.PostConstruct和@javax.annotation.PreDestroy定义 package com.xiaochuange.platform. ...
- 配置Maven时报错The JAVA_HOME environment variable is not defined correctly,this environment解决方法汇总
配置Maven时报错The JAVA_HOME environment variable is not defined correctly,this environment variable is n ...
- python解析XML文件报错 entity not defined Entity ndash not defined
报错 在处理数据集时需要解析xml文件获取需要的数据,一开始采用python自带的xml模块来做,即xml.dom.minidom,然后报错 entity not defined 也没显示是在xml文 ...
最新文章
- 13装饰器和内置函数
- 871 最低加油次数
- Pyramid Attention Network for Semantic Segmentation
- Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
- 单片机拼字程序怎么做_家装行业做小程序怎么样?
- python基本语法 关于雷达模拟实践
- python mvc框架_MVC其实很简单(Django框架)
- scala(13)-----集合(Collection)-------列表
- 微电子电路——一位全加器
- 步进电机的正反向旋转c语言编程,实现步进电机自动正反转程序怎么写
- Java实践(五)仿照用户列表查询写查自己的库
- opencv存入数据库图片入门笔记
- ESP8266天猫精灵接入流程
- 【PTA】PAT (Advanced Level) Practice 1011-1014
- CR、LF、CRLF 都是什么鬼?
- 计算器(难度系数:3颗星)
- 【程序源代码】外卖侠源码
- Android studio 实现背景音乐(打开页面自动循环播放)
- 用html和css设计QQ注册页面,html和css制作QQ企鹅教程
- iOS开发——深拷贝与浅拷贝详解
热门文章
- 帆软动态分页之单数据集行式报表(模板-引擎设设置启用及行数)
- python中tell函数_PYTHON学习14.09:Python seek()和tell()函数详解
- slf4j打印未捕获异常信息_谁再悄咪咪的吃掉异常,我上去就是一 JIO
- 验证码识别库 python_python 验证码识别库pytesseract的使用
- python curl 获取返回值_php curl_exec()函数 CURL获取返回值的方法
- docker host模式拿到nginx远程ip端口_docker网络模式实战
- mysql 要完 知乎_必知必会 MySQL笔记(未完)
- 软件的接口设计图_软件工程中的分析、设计与实例
- img 转esxi vmdk_KVM qcow2、raw、vmdk等镜像格式和转换
- 【2016.4.6】结对编程 第二章 基础设计