如何解决HTML5 API中plusready兼容问题?解决方法案例详解!

猿友 2021-08-05 10:59:37 浏览数 (3188)
反馈

对于前端接口的使用对于有接触过前端的小伙伴们相信在熟悉不过了,那么今天我们就来讲讲有关于:“如何解决HTML5 API中plusready兼容问题?”这个问题吧!下面是相关的收集内容!

Android平台提前注入5+ API,支持在plusready事件前调用

在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:'

document.addEventListener('plusready',function () { 
        // 在这里调用5+ API 
        // 如获取设备唯一标识 plus.device.uuid
},false); 

但是在新版本中,将支持提前注入5+ API,可以在plusready事件触发之前调用5+ API,提前引入节点:

<script src="html5plus://ready"></script>

兼容写法:

if(window.plus){ 
    // 在这里调用5+ API 
}else{// 兼容老版本的plusready事件 
    document.addEventListener('plusready',function () { 
        // 在这里调用5+ API 
    },false); 
}

注意
1. 仅仅是提前注入5+ API,并不会提前触发plusready事件(仅步骤4提前操作了)
2. Android3.0及以上平台才支持提前注入,Android2.*版本无法提前注入
3. 在流应用环境中的wap2app会自动提前注入(第一次引用网络js时注入),不需要添加<script src="html5plus://ready"/>节点

以上就是有关于:“如何解决HTML5 API中plusready兼容问题?”这个问题的相关方法分享,更多关于HTML5这方面的相关内容我们可以在W3Cschool中进行学习和了解! 

0 人点赞