视频播放使用video标签

原因: wex5中视频播放建议直接使用HTML5 的video标签,这样兼容性最好!但是它也有局限性,只支持特殊格式的视频! 解决方案: video标签支持这三种视频格式: .mp4 = H.264 + AAC .ogg = Theora + Vorbis .webm = VP8 + Vorbis 具体可以上网查一下!所以建议服务器上传的视频做一下格式转换才行

报错:GET http://localhost:35729/livereload.js?_

现象: GET http://localhost:35729/livereload.js?_=1438955165665 net::ERR_CONNECTION_REFUSED 原因: livereload 这个是3.2 的新特性,会自动刷新页面,也就是你如果用网页打开或者手机打开,如果保存了页面,页面会自动加载。 这个在studio下启动tomcat有效。 出错可能是监控服务异常了 解决方案: 可以关闭studio新进入一次,这个不影响正常使用!正式部署后也不存在这个问题了!

app后台运行代码插件执行不成功

现象:alert(11) 可以执行, alert(22)执行不了 document.addEventListener('deviceready', function() { debugger; alert(11) cordova.plugins.backgroundMode.onactivate = function() { alert(22) } } 原因: 没有调用方法启用后台模式 解决方案: 增加一句: cordova.plugins.backgroundMode.enable();   参考案例:/UI2/demo/native/backgroundMode/index.w 使用的组件是:de.appplant.cordova.plugin.background-mode

加载xxx/xxx/xxx.w出错

现象: 加载/x5/UI2/v_4935_nol_zh_CNs_desktopd_pc/system/deploy/package/xxx.w?$pageType=model出错 编码:JUSTEP230103 原因: 1.手动修改.w源码,把代码格式改乱了! 2.修改.w源码,把组件的结构改坏了!导致组件不能正常解析 3.js代码中有语法问题! 解决方案: 1.这个你格式化一下看看,如果能格式化就说明正常.可有右键,源代码---》格式; 或者快捷键 Ctrl+Shift+F 2.尽量不要破坏平台封装的组件的dom结构,比如这个表情中代带有component 属性,就说明他是一个WeX5组件 3.注释一部分代码看看是否正常??然后再依次取消注释,看看是哪儿引起的错误!使用排除法

模式1打包需要注意的细节

原因:模式1打包的时候,需要有几个编辑app页面是必选的,否则就会打包失败 解决方案: 1.资源一定要选中,为了后面资源的编译,一定要选中资源!否则。这里没有选择的资源不会进行编译的! 2.一定要重新编译资源,否则不能生成编译后直接可运行的html资源, 3.资源要打到包里!这个是模式1打包的优势,可以不设置服务器地址,而是直接运行APP本地资源!当然也可以设置服务器地址!,资源更新是异步的,更新无察觉,无痕迹!

Android手机中回退键的理解

原因:只有Android手机会提供回退键,关于回退键的操作,平台已经做好了封装!当然也可以自己接管回退的事件,我再这里简单介绍下逻辑调用的过程,方便大家参考! 解决方案: 比如,外卖案例,仿淘宝案例都接管了attachDoubleClickExitApp 事件,return true 就表示接管双击退出!return false 表示路由回退!参考案例,可以自己接管判断逻辑! 这个方法在UI2/system/components/justep/common/utils.js中,你可以看下源码: document.addEventListener('backbutton', listener, false);实际上就是接管了返回键要执行的事件, history.back(); 是路由的回退,有些用户不希望路由回退,而是关闭页面,就可以把这行代码改成justep.Shell.closePage(); navigator.app.exitApp(); 是app的退出!如果不想真正的关闭APP,就可以把这行代码去掉! 记得执行合并资源的操作:\tools\dist\dist.bat 理解: 其实默认情况开发的单页功能,定义shellImp 打开的单页应用,默认就是在主页双击退出的! 源码:/UI2/system/lib/portal/shellImpl.js 判断执行的方法:initDoubleClickExitApp 就是指默认 主页接管了 双击退出 的事件

滚动到页面顶部(或指定位置)

原因:在APP 中,有滚动条的时候,为了操作方便,想在下面点一个按钮直接回到顶部!或者是直接滚动的中间某个位置! 解决方案: 1.在没有scrollView组件的情况下,顶部(或者页面指定位置)添加一个空的div ,设置 id为(比如 top) 可以使用一个a标签href设置为#top,这样就回到那个位置了!这个是html标准的实现方式 或者js代码实现,根据xid获取id ,然后滚动到指定位置: var id = this.getIDByXID("div的xid"); window.location.hash = "#"+id; 2.使用了scrollView 作为滚动组件,回到顶部的方法是,this.comp('scrollView的xid').scroller.scrollTo(0,0); 回到指定高度的方法是第一个参数中给一个整数,比如this.comp('scrollView的xid').scroller.scrollTo(100,0) 滚动到list某一行的指定位置: Model.prototype.listGoTo = function(rowIndex) { // 根据索引获得HTML ID,使用ID定位 var e [...]

grid,dataTables,list组件自定义渲染行显示样式

原因: 列表组件,显示的时候,希望能动态对每行数据修改显示样式!比如给字段设置超链接,添加图标等! 解决方案: 1.grid和dataTables 组件有提供onCellRender事件,用法可参考文档:http://docs.wex5.com/comps-datatables-grid/ 2.list组件没有提供接管渲染事件,但是提供了渲染后事件onAfterRender!也可以在渲染后操作新生成行的dom节点!在事件中通过event.source.$domNode;获取list的dom节点!然后通过jquery操作,获取最后一个li的节点!就可以修改dom节点的显示了!(一般不建议这样使用,除非有些样式是动态获取的,而不是静态设定的) 一般情况控制list显示只需要通过bind相关属性,绑定一个data字段的值,通过控制data字段的值就能控制每一行要显示的样式!所以不需要使用js代码控制渲染每行的显示, 比如想在list中,根据一个状态值,控制每行显示不同的布局风格,思路是: 就是list的li下放置你需要显示的各种样式!然后设置他们的bind-if属性! 这个属性都分别绑定一个data字段(Boolean类型的)!然后给这个字段设置计算规则!控制是显示那种样式! 一行只显示一种样式,其它隐藏!这样就可以随意切换显示各种样式了!