原文

关于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 错误汇总相关推荐

  1. plus初始化原理及plus is not defined,mui is not defined 汇总

    关于plus是哪里来的问题 plus是5+Runtime的内部对象. 就像chrome浏览器里有chrome.开头的一些对象方法,5+runtime内部内置了plus对象. 因为plus和mui不一样 ...

  2. Windows 11 L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误

    错误描述:" L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误" 事件查看器中没有错误代码显示. Windows 10 L2TP/IPsec Manu ...

  3. mui is not defined的原因

    今天调试的时候,显示mui is not defined,如下图所示 原因是我自己写的index.js文件导入的时候放在了mui.js之前,导致加载index.js文件的时候还没有加载mui.js文件 ...

  4. win10内置vpn连接出现的一个错误——L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误

    并不是每台电脑都会出现这个错误,因电脑环境而异 错误描述 " L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误"` 处理方法–两种 亲测第二种完美解决 ...

  5. inputstream 初始化_如何完美回答面试官问的Mybatis初始化原理!

    前言 对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. MyBatis的初始化做了什么 MyBatis基于XML配置文件 ...

  6. 当面试官问我Mybatis初始化原理时,我笑了

    对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. MyBatis的初始化做了什么 MyBatis基于XML配置文件创建C ...

  7. 110:Mybatis初始化原理

    对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. MyBatis的初始化做了什么 MyBatis基于XML配置文件创建C ...

  8. Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总

    1.通过@javax.annotation.PostConstruct和@javax.annotation.PreDestroy定义 package com.xiaochuange.platform. ...

  9. 配置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 ...

  10. python解析XML文件报错 entity not defined Entity ndash not defined

    报错 在处理数据集时需要解析xml文件获取需要的数据,一开始采用python自带的xml模块来做,即xml.dom.minidom,然后报错 entity not defined 也没显示是在xml文 ...

最新文章

  1. 13装饰器和内置函数
  2. 871 最低加油次数
  3. Pyramid Attention Network for Semantic Segmentation
  4. Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
  5. 单片机拼字程序怎么做_家装行业做小程序怎么样?
  6. python基本语法 关于雷达模拟实践
  7. python mvc框架_MVC其实很简单(Django框架)
  8. scala(13)-----集合(Collection)-------列表
  9. 微电子电路——一位全加器
  10. 步进电机的正反向旋转c语言编程,实现步进电机自动正反转程序怎么写
  11. Java实践(五)仿照用户列表查询写查自己的库
  12. opencv存入数据库图片入门笔记
  13. ESP8266天猫精灵接入流程
  14. 【PTA】PAT (Advanced Level) Practice 1011-1014
  15. CR、LF、CRLF 都是什么鬼?
  16. 计算器(难度系数:3颗星)
  17. 【程序源代码】外卖侠源码
  18. Android studio 实现背景音乐(打开页面自动循环播放)
  19. 用html和css设计QQ注册页面,html和css制作QQ企鹅教程
  20. iOS开发——深拷贝与浅拷贝详解

热门文章

  1. 帆软动态分页之单数据集行式报表(模板-引擎设设置启用及行数)
  2. python中tell函数_PYTHON学习14.09:Python seek()和tell()函数详解
  3. slf4j打印未捕获异常信息_谁再悄咪咪的吃掉异常,我上去就是一 JIO
  4. 验证码识别库 python_python 验证码识别库pytesseract的使用
  5. python curl 获取返回值_php curl_exec()函数 CURL获取返回值的方法
  6. docker host模式拿到nginx远程ip端口_docker网络模式实战
  7. mysql 要完 知乎_必知必会 MySQL笔记(未完)
  8. 软件的接口设计图_软件工程中的分析、设计与实例
  9. img 转esxi vmdk_KVM qcow2、raw、vmdk等镜像格式和转换
  10. 【2016.4.6】结对编程 第二章 基础设计