我们甚至能使用iostream,关于文件流的应用,是实现在浏览器提供的沙盒目录中,
目前5+为了保证应用的安全,plus.io API限制了仅可访问应用沙盒的4个公开目录_www(只读)、_doc、_downloads、_documents,不允许访问其它目录,建议将下载的文件保存到上面三个可写目录中。
先来谈谈我对webview的理解。我们打个比方:
使用mui开发的app,纯粹的说还是html,打开的是网页,按照传统网页的方式去理解:
我们将app理解为浏览器,将webview理解为浏览器下不同标签tab,每一个tab也是一个不同的页面,浏览器浏览可以在tab之中切换,以此来实现app不同webview(页面)的切换
场景一:
在mainfest.json中我们配置的首页,比如login.html,然后我们启动app,login.html将会第一个呈现在我们屏幕上,这就是第一个tab标签(称之为launchWebView),如果此时我们关闭这个tab,那么浏览器没有其他tab将会关闭。
app也是一个道理,只有一个webView的情况下(假设就是launchWebView,首页),将会退出,可以在首页login.html使用plus.webview.getLaunchWebView().close()测试,app将会直接退出!
场景二:
浏览器已经有了首页的tab,我们新建一个tab,并且跳转到新tab下
使用mui.openWindow()方法打开新的webview,该方法传入一些参数,如下官方说法:
- mui.openWindow({
- url:new-page-url,
- id:new-page-id,
- styles:{
- top:newpage-top-position,//新页面顶部位置
- bottom:newage-bottom-position,//新页面底部位置
- width:newpage-width,//新页面宽度,默认为100%
- height:newpage-height,//新页面高度,默认为100%
- ......
- },
- extras:{
- .....//自定义扩展参数,可以用来处理页面间传值
- },
- createNew:false,//是否重复创建同样id的webview,默认为false:不重复创建,直接显示
- show:{
- autoShow:true,//页面loaded事件发生后自动显示,默认为true
- aniShow:animationType,//页面显示动画,默认为”slide-in-right“;
- duration:animationTime//页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
- },
- waiting:{
- autoShow:true,//自动显示等待框,默认为true
- title:'正在加载...',//等待对话框上显示的提示内容
- options:{
- width:waiting-dialog-widht,//等待框背景区域宽度,默认根据内容自动计算合适宽度
- height:waiting-dialog-height,//等待框背景区域高度,默认根据内容自动计算合适高度
- ......
- }
- }
- })
openWindow打开了一个新的webView并且跳转到了新的webView,就像浏览器新建一个tab并且切换过去,只不过切换过程带了参数,实现了动画,等复杂的现象,这也是比浏览器访问网页的强大之处
openWindow遇到已经打开过并且id仍然在缓存中的webview时会直接跳转过去