plus初始化原理及plus is not defined,mui is not defined 错误汇总

plusready plus 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 () {})

关于加载顺序

在浏览器里的常规加载顺序是DOMContentLoaded、onload。plus的ready是异步的,一般在DOMContentLoaded和onload之间。而mui的ready一般伴随DOMContentLoaded而完成。详细的启动时序参考这里:[http://ask.dcloud.net.cn/article/571](http://ask.dcloud.net.cn/article/571)

关于mui 加载顺序摘要 ( plusReady(),DOMContentLoaded、onload)相关推荐

  1. web.xml 配置 加载顺序

    web.xml 的加载顺序是:context-param -> listener -> filter -> servlet . 过滤器执行顺序是根据filter-mapping ,不 ...

  2. S2JH经验分享:控制jdbc:initialize-database与其他bean加载顺序

    为什么80%的码农都做不了架构师?>>>    为了便于干净的初始化部署运行S2JH框架,采用了jdbc:initialize-database来从SQL脚本中初始化框架基础数据,其 ...

  3. web.xml 里context-param 、listener、 filter、servlet 加载顺序

    1.web.xml中context-param .listener. filter.servlet 加载顺序与其位置无关,不是listener在context-param 前面就先加载listener ...

  4. 动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结...

    03,动态参数 *args,**kwargs # 用户传入到函数中的实参数量不定时,或者是为了以后拓展,# 此时要用到动态参数*args,**kwargs(万能参数.)# *args接收的是所有的位置 ...

  5. 类的加载顺序和对象的实例化

    直接就在JDK8中用代码来验证吧. import lombok.extern.slf4j.Slf4j;@Slf4j public class Printer {private String s;pub ...

  6. java静态方法加载顺序_java中类以及方法的加载顺序

    先看下面的代码: public class Test { public static int a =0 ; static { a = 10; System.out.println("静态代码 ...

  7. 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)

    1.外部配置加载顺序 SpringBoot也可以从以下位置加载配置: 优先级从高到低 高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置  1.命令行参数 所有的配置都可以在命令行上进行指定 ...

  8. 【原】HTML页面元素加载顺序研究报告(2)----背景图片

    2.接下来考察背景图片的加载: 一般来说,添加背景图片有三种办法: 直接写在标签的style里面,如: <div style="background-image:url('images ...

  9. iptables加载顺序问题及优化方法

    iptables加载顺序问题及优化方法 1. iptables加载顺序问题及优化方法 1.1. 1. 问题背景 1.2. 2. 问题排查 1.3. 3. 根因分析 1.4. 4. 附带影响 1.5. ...

最新文章

  1. 时间和邮箱的正则表达式,获取当前时间函数
  2. java i o不会的地方_Java I/O 好复杂,傻傻分不清楚,别担心,我们有线索了。。。...
  3. 星型模型 3nf的区别_贵州省遵义市工业模型经典案例展示
  4. poj1738 an old stone game
  5. RHEV平台中如何在 RED HAT ENTERPRISE LINUX 虚拟机上安装 GUEST 代理和驱动
  6. .net core 调用c dll_工具:搭建Camp;C,一睹模样
  7. hibernate之生成的和默认的属性值(使用generated刷新实体) .
  8. 【击败时间100%】剑指 Offer 38. 字符串的排列
  9. 肺部胸片图像掩膜和伪彩色处理matlab
  10. 泛型算法(二十三)之排列算法
  11. VMware下主机与虚拟机剪切板独立,无法直接复制粘贴
  12. C#总结(四)调用C++动态库
  13. java线程深入_深入聊聊Java多线程
  14. linux python tab补全_python交互模式下实现tab自动补全功能
  15. 解决自动更新时 系统提示“某些设置由你的系统管理员管理”的方法
  16. 线性插值 多项式插值 样条插值 牛顿插值总结
  17. DOS7.1安装与学习
  18. PicGO + 阿里云对象存储OSS 个人图床入门教程
  19. 系统运维工程师的法宝:python paramiko
  20. linux va start,linux下strftime(),va_start(),va_end()函数的用法

热门文章

  1. 正点原子阿尔法开发板uboot使用实验笔记以及踩过的坑
  2. 16进制表示的颜色代码
  3. ‍w3wp.exe占用内存过高的问题
  4. java动态代理底层探究
  5. 浙大工商管理硕士(MBA)创客班适合哪些人群申请报考?
  6. android 状态栏显示流程,基于Android系统的跨屏状态栏实现方法与流程
  7. 百度贴吧怎么进不去_百度霸屏怎么做?狼叔百度贴吧霸屏推广引流课程3.0,带你玩转百度贴吧霸屏...
  8. Can‘t uninstall ‘scipy‘. No files were found to uninstall.以及scipy安装问题解决方法
  9. AndroidStudio项目取消SVN关联
  10. SPI : Service Provider Interface