最近好久没有更新博客了,由于一直在学习前端h5 手机app的开发。曾经一度以为本身css和js学得不错,进入到前端领域后才发现水很深~,写代码时HBuilder和VS混用,HBuilder的快捷键和代码提示以及真机调试方便,可是错误提示和代码格式化是硬伤,VS的前端报错提示很智能,代码格式化很顺畅,将两者的优势集合起来。如今在用MUI作app开发, 就把工做中用到的以及遇到的坑都一一记录下来,待项目完工,再回过头来看一下......
javascript
MUI文档:http://dev.dcloud.net.cn/mui/ui/css
MUI问答社区:http://ask.dcloud.net.cn/explore/category-3html
HTML5+ API文档:http://www.html5plus.org/doc/zh_cn/android.html前端
HTML5+ API缓存:http://www.dcloud.io/docs/api/zh_cn/cache.htmlvue
h.js:http://www.hcoder.net/hhtml5
vue.js:https://cn.vuejs.org/java
dcloud:http://www.dcloud.io/android
阿里巴巴矢量图标库:http://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.1ios
-----------------------------------------------分隔线-----------------------------------------------------------git
解决MUI选择器组件抛出“picker.getSelectedItem is not a function”异常的问题
HTML5 用 websql 模仿 localStorage 几乎无大小限制
Hbuilder用自有证书打包 ios App上架AppStore流程
------------------------------------消息推送-------------------------------------
个推:http://www.getui.com/cn/index.html
mui 开发知识 积累总结 --------------Hbuilder APP 个推服务
要知道if里面的返回值是true或是false,那么只要括号里随便一个数均可以,
a=0,那么if条件就是false了
布尔值,javascript中如下值会被转换为false
o = o || {} 表示:若是o为null或undefined,则将o初始化空对象(即{}),不然o不变。目的是防止o为null或未定义的错误。其中:||表示或操做,第一个条件为真,则结果为真而不须要执行第二个条件;不然执行第二个条件,等价于如下代码:
if(o) o = o; else o = {};
安卓模拟器有不少,我这里以夜神模拟器为例。使用安卓夜神模拟器来运行手机app的时候,先要配置HUuilder,配置方式:HBuilder的工具--》选项--》运行--》设置Web服务器--》HBuilder--》第三方Android模拟器端口:将此处的端口改成62001。由于夜神模拟器的端口就是62001。
条件容许的状况下,建议直接真机调试,快不少。
有时候常常出现HBuilder和夜神模拟器都启动了,创建了连接,可是检测不到夜神模拟器的状况。
一、咱们能够试着点击一下夜神模拟器界面,而后再在HBuilder中打开一个页面
二、若是1仍是不行,打开cmd执行命令
打开HBuilder的安装目录,进入到tools\adbs目录中,例:C:\Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
cd \Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
cd \Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
cd \Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
参考:tab选项卡示例教程-基于subnview模式的原生tab(含底部凸起大图标)
这个官网提供了具体例子,下载地址:https://github.com/dcloudio/mui/tree/master/examples/nativeTab
我作的界面Demo
我的感受:虽然快是快了,可是有一个严重的缺陷,那就是底部没法动态配置。因此我最终抛弃了这种方式,由于界面全部的菜单模块都是能够在PC后台进行配置的,我最终用vue.js来作数据绑定。
注意首页应用了响应式布局,熟悉rem、em、px之间的区别。引入了第三方js:flexible.js
一、重启安卓模拟器,从新在CMD中链接
adb connect 127.0.0.1:62001
adb devices
二、方法二:在安卓模拟器上面卸载HBuilder
http://ask.dcloud.net.cn/article/1257
必须在页面中指定报表容器的宽、高,或者最小宽高,在css样式文件中指定宽高有时会无效。
或者你添加窗体的大小变动监听事件,重绘报表,以下所示:
var lineChart = echarts.init(charts); lineChart.setOption(chartOption); window.onresize = function () { lineChart.resize();
}
补充:若是是底部选项卡切换的时候,默认会加载第一页,所以上面的方法有效。
可是在切换到第2个Tab时,一样会出现不显示或者黑屏的现象,须要在mui.plusReady中作以下处理:
mui.plusReady(function() { var nw = plus.webview.getWebviewById("pages/energy.html"); // 这里pages/energy.html是默认的选项卡id nw.addEventListener("show", function(e) { lineChart.resize(); }, false); });
此问题困扰了许久。
个推:http://www.getui.com/cn/index.html
参考教程:http://m.blog.csdn.net/tiger_gy/article/details/72922215
源码地址:https://github.com/xuyongsky123/canvasSignature.git
源码地址:https://github.com/yulusjjc/sign
我用的魅族手机,进入工程模式:*#*#3646633#*#*,开启调试模式日志,关于其它手机能够网上查找进入工程模式的方式。
对app中的ajax请求进行抓包,配置教程以下:
http://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html
在mui-search外面包含了mui-inner-wrap以后就会出现这个bug。别的控件不知道有没有这个现象,我用到的就是这个。原理应该是mui-placehold绝对定位以后在iOS端产生事件穿透致使的。
解决办法:
.mui-search .mui-placeholder {
pointer-events: none;
}
持续更新中......