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 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。
额,写上这一段的时候主要还是不明白,好多点反对是对我的随笔不满还是对我随笔质量的不满。。实际上我更多的把这个博客当成个人动态玩的。。。所以还是比较随意的。。。当然如果觉得写得有问题可以在下方评论写出改进建议。。。我会虚心接受,顺便可以知道自己的不足点。。。
分类:
带点移动的框架
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库