zoukankan      html  css  js  c++  java
  • mui-5+api(plus)加载顺序

    ios上plus是一直存在的,不涉及等ready事件。但安卓上还是需要等plus ready。
    在安卓环境中,通常情况下需要html页面解析完成后才会让5+ API生效,安卓的执行的顺序为:
    1. 加载html页面,loading
    2. 解析html页面(解析title节点、下载script/link等节点引用的资源,如js/css文件)
    3. 触发DOMContentLoaded事件
    4. 触发plusready事件
    此文对执行顺序有详细描述:http://ask.dcloud.net.cn/article/571

    我们总是在不停追求性能优化,生效时间越早,我们可以把app的体验做的更好。
    在HBuilder7.5版本之后安卓版支持提前注入5+ API,可以在plusready事件触发之前调用5+ API,操作方法是在页面中添加以下节点:
    <script src="html5plus://ready"></script>,示例如下:

    <!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>
            <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事件并不会提前触发,该事件仍然保持原来的触发时机;
    2. 提前生效的Plus api,操作时需注意,此时DOMContentLoaded事件高概率未触发,此时操作dom会失败,操作dom也还是得等到DOMContentLoaded后;
    3. Android3.0及以上平台才支持提前生效,Android2.*版本不支持此功能;

  • 相关阅读:
    【源码学习之spark core 1.6.1 standalone模式下的作业提交】
    【源码学习之spark streaming 1.6.1 】
    spark udf 初识初用
    spark 累加历史 + 统计全部 + 行转列
    spark 都用了哪些开源东东
    kafka 官方示例代码--消费者
    104. 二叉树的最大深度
    237. 删除链表中的节点
    Leetcode-167. Two Sum II
    Leetcode-215. Kth Largest Element in an Array
  • 原文地址:https://www.cnblogs.com/yxrs/p/8854760.html
Copyright © 2011-2022 走看看