• HTML5+学习笔记1-------边看代码边研究中


    document.addEventListener('touchstart',function(){
        return false;
    },true);
    

    touchstart当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。

    document.oncontextmenu=function(){
        return false;
    };

    oncontextmenu取消鼠标右键

    var _domReady=false;
    document.addEventListener('DOMContentLoaded',function(){
        _domReady=true;
        compatibleAdjust();
    },false);

    domready事件,类似jq的$(document).ready()

    var _adjust=false;
    function compatibleAdjust(){
        if(_adjust||!window.plus||!_domReady){
            return;
        }
        _adjust=true;
        // iOS平台使用div的滚动条
        if('iOS'==plus.os.name){
            document.getElementById('content').className='scontent';
        }
        // 预创建二级窗口
    //    preateWebviews();
        // 关闭启动界面
        setTimeout(function(){
            plus.navigator.closeSplashscreen();
        },500);
    }

    // 兼容性样式调整

    var _openw=null;
    function clicked(id,a,s){
        if(_openw){return;}
        a||(a=as);
        _openw=preate[id];
        if(_openw){
            _openw.showded=true;
            _openw.show(a,null,function(){
                _openw=null;//避免快速点击打开多个页面
            });
        }else{
    //        var wa=plus.nativeUI.showWaiting();
            _openw=plus.webview.create(id,id,{scrollIndicator:'none',scalable:false,popGesture:'hide'},{preate:true});
            preate[id]=_openw;
            _openw.addEventListener('loaded',function(){//叶面加载完成后才显示
    //        setTimeout(function(){//延后显示可避免低端机上动画时白屏
    //            wa.close();
                _openw.showded=true;
                s||_openw.show(a,null,function(){
                    _openw=null;//避免快速点击打开多个页面
                });
                s&&(_openw=null);//避免s模式下变量无法重置
    //        },10);
            },false);
            _openw.addEventListener('close',function(){//页面关闭后可再次打开
                _openw=null;
                preate[id]&&(preate[id]=null);//兼容窗口的关闭
            },false);
        }
    }

    //处理点击事件

    var preate={};
    function preateWebviews(){
        preateWebivew('plus/webview.html');
        var plist=document.getElementById('plist').children;
        // 由于启动是预创建过多Webview窗口会消耗较长的时间,所以这里限制仅创建5个
        for( var i=0;i<plist.length&&i<2;i++){
            var id=plist[i].id;
            id&&(id.length>0)&&preateWebivew(id);
        }
    }
    function preateWebivew(id){
        if(!preate[id]){
            var w=plus.webview.create(id,id,{scrollIndicator:'none',scalable:false,popGesture:'hide'},{preate:true});
            preate[id]=w;
            w.addEventListener('close',function(){//页面关闭后可再次打开
                _openw=null;
                preate[id]&&(preate[id]=null);//兼容窗口的关闭
            },false);
        }
    }
    // 清除预创建页面(仅)
    function preateClear(){
        for(var p in preate){
            var w=preate[p];
            if(w&&w.showded&&!w.isVisible()){
                w.close();
                preate[p]=null;
            }
        }
    }

    通过 HTML5 开发移动 App 时,会发现 HTML5 很多能力不具备。为弥补 HTML5 能力 的不足,在 W3C 中国的指导下成立了 www.HTML5Plus.org组织,推出 HTML5+规范。

    HTML5+扩展了 JavaScript 对象 plus,使得 js 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。

  • 相关阅读:
    Java必会之多线程
    第一周JVM核心技术-工具与GC策略
    JVM核心技术(第一篇)
    SpringCloudAlibaba使用seata做分布式事务
    Go中的interface(接口)
    快排与堆排
    优先队列原来不难!带你手写一个
    【LeetCode】557. 反转字符串中的单词 III
    【LeetCode】214. 最短回文串
    【LeetCode】17. 电话号码的字母组合(回溯)
  • 原文地址:https://www.cnblogs.com/LoveOrHate/p/4534499.html
Copyright © 2020-2023  润新知