本文主要包含mui.plusready,plusready,plusready事件, plusready function,mui.plusready不执行等相关知识,教程希望在学习及工作中可以帮助到您
");
</div>
在5+ Runtime环境中,通常情况下需要html页面解析完成后才会注入5+ API,执行的顺序为:
1. 加载html页面
2. 解析html页面(下载script/link等节点引用的资源,如js/css文件)
3. 触发DOMContentLoaded事件
4. 注入5+ API
5. 触发plusready事件
这样导致5+ API生效时间比较延后,在html中引用js执行之后才能调用5+ API,通常采用以下代码调用5+ API:
<script src="html5plus://ready"/>,示例如下:
1. 仅仅是提前注入5+ API,并不会提前触发plusready事件(仅步骤4提前操作了)
2. Android3.0及以上平台才支持提前注入,Android2.*版本无法提前注入
1. 加载html页面
2. 解析html页面(下载script/link等节点引用的资源,如js/css文件)
3. 触发DOMContentLoaded事件
4. 注入5+ API
5. 触发plusready事件
这样导致5+ API生效时间比较延后,在html中引用js执行之后才能调用5+ API,通常采用以下代码调用5+ API:
在HBuilder7.5版本之后将支持提前注入5+ API,可以在plusready事件触发之前调用5+ API,操作方法是在页面中添加以下节点:
- document.addEventListener('plusready',function () {
- // 在这里调用5+ API
- },false);
<script src="html5plus://ready"/>,示例如下:
注意
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
- <title>HTML5+ API</title>
- <script src="html5plus://ready"/>
- <script type="text/javascript" charset="utf-8">
- // 这里可以调用5+ API了,为了更好的兼容性,应该使用以下代码进行判断
- if(window.plus){
- // 在这里调用5+ API
- }else{// 兼容老版本的plusready事件
- document.addEventListener('plusready',function () {
- // 在这里调用5+ API
- },false);
- }
- </script>
- </head>
- <body>
- Hello HTML5 plus.
- </body>
- </html>
1. 仅仅是提前注入5+ API,并不会提前触发plusready事件(仅步骤4提前操作了)
2. Android3.0及以上平台才支持提前注入,Android2.*版本无法提前注入