关于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 () {})

关闭Webview窗口

<span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">webview</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> id_wvobj</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> aniClose</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> duration</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> extras </span><span style="color:#ffffff">);</span></code></span>

说明:

关闭已经打开的Webview窗口,需先获取窗口对象或窗口id,并可指定关闭窗口的动画及动画持续时间。

参数:

  • id_wvobj: ( String | WebviewObject ) 必选 要关闭Webview窗口id或窗口对象
    若操作窗口对象已经关闭,则无任何效果。 使用窗口id时,则查找对应id的窗口,如果有多个相同id的窗口则操作最先打开的窗口,若没有查找到对应id的WebviewObject对象,则无任何效果。
  • aniClose: ( AnimationTypeClose ) 可选 关闭Webview窗口的动画效果
    如果没有指定关闭窗口动画,则使用默认值“auto”,即使用显示时设置的窗口动画相对应的关闭动画。
  • duration: ( Number ) 可选 关闭Webview窗口动画的持续时间
    单位为ms,如果没有设置则使用显示窗口动画时间。
  • extras: ( WebviewExtraOptions ) 可选 关闭Webview窗口扩展参数
    可用于指定Webview窗口动画是否使用图片加速。

返回值:

void : 无

示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Webview Example</title><script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){plusReady();
}else{document.addEventListener("plusready",plusReady,false);
}// 关闭自身窗口
function closeme(){var ws=plus.webview.currentWebview();plus.webview.close(ws);
}</script></head><body>关闭Webview窗口<br/><button onclick="closeme()">close</button></body>
</html>

plus初始化原理及plus is not defined,mui is not defined 汇总相关推荐

  1. mui is not defined的原因

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

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

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

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

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

  4. 110:Mybatis初始化原理

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

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

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

  6. 深入分析vhost-user网卡实现原理 —— VirtIO Features协商

    文章目录 前言 数据结构 设备模型 device VirtIONetPCI VirtIONet NICState NetClientState netdev NetVhostUserState vho ...

  7. iOS之深入解析对象isa的底层原理

    对象本质 一.NSObject 本质 OC代码的底层实现实质是 C/C++代码 ,继而编译成汇编代码,最终变成机器语言. ① clang C/C++ 编译器 Clang 是⼀个 C 语⾔.C++.Ob ...

  8. c++中int向量初始化_以不同的方式在C ++中初始化2D向量

    c++中int向量初始化 Prerequisite: Initialize 1D vector 先决条件: 初始化一维向量 Before discussing about the initializa ...

  9. Android中CursorLoader的使用、原理及注意事项

    前言 最近在项目中涉及到了即时聊天,因此不可避免地要用到实时刷新的功能,因为在以前的项目中见到别人使用CursorLoader+CursorAdapter+ContentProvider的机制来实现实 ...

最新文章

  1. 081_Introducing trigger handler class
  2. give root password for maintenance 启动异常的解决
  3. 零基础学python用什么书-零基础自学python3 好用的入门书籍推荐
  4. 少儿python编程培训-无锡江阴少儿Python编程培训一对一
  5. 如何成为一个伟大的 JavaScript 程序员
  6. python加法器_[python bottle] 网页加法器
  7. 前端windows下常用的CMD 命令归纳
  8. linux shell 执行目录,bash shell脚本执行的几种方法
  9. 防止服务器变为代理服务器
  10. java hashmap用法_备战金九银十:Java核心技术面试题100+,助你搞定面试官
  11. CNN(卷积神经网络)
  12. 全解小程序猜数字游戏 04《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》
  13. reuntion 题解
  14. 【侯捷】C++面向对象程序设计
  15. 并发编程(三)---共享模型之管程
  16. UVa 10934 Dropping water balloons:dp(递推)
  17. mysql 查询去除小数点_SQL查询金额去掉小数点后面的零
  18. python http2_实战 | Python使用HTTP2实现苹果原生推送
  19. C语言保留小数点后一位
  20. Walgreens以myWalgreens重塑美国最大的卫生健康忠诚度计划,为顾客带来更加丰富的福利

热门文章

  1. 图片降噪怎么搞?教你三种解决方法
  2. Naive Ui Admin前端集成框架
  3. WebJars介绍及使用
  4. 企业会计软件必备!深入了解为何选择会计软件以及其带来的好处
  5. 坚决不碰自动驾驶和云,耐能的可重组架构AI芯片能在AIoT市场取胜?
  6. 广州的海运集装箱码头分布
  7. win10环境下手机设置代理无法上网解决方案
  8. jQuery AJAX获取JSON数据解析多种方式示例
  9. Mockito 的 MockMvc:零基础教程
  10. 常见的几种图像特征提取算法