摘要:移动webapp监测屏幕旋转时常用onorientationchange事件,用此事件获取改变后的屏幕尺寸时需要注意:1. iphone中,可立即获取改变后的屏幕尺寸。2. android中,获取的尺寸是改变前的。需要设置setTimeout在一段事件后再获取。iScroll4是200ms,建议设成300ms。
阅读全文
摘要:在无线侧实现搜索显示smartbox功能的时候,会对输入框绑定keydown、keyup、keypress事件,从而在检测到输入框的值发生改变时,发出请求拉取smartbox的内容。但是,在iPhone 3gs上测试发现输入框不响应这几个事件,我们的解决办法是设置一个定时器,每隔100ms检测输入框的值是否发生了改变,如果改变了,就请求cgi拉取数据。这个办法参考了百度应用搜索功能的实现方式。公司内部一篇关于移动web开发的分享,讲到可以用html5的input事件去代替keyup:domInput.addEventListener('input', function(){al
阅读全文
摘要:1.backbone处理cgi返回的jsonp格式数据无线应用频道二期的cgi返回的格式是jsonp,但默认情况下,backbone认为ajax请求返回的数据类型是json。解决办法:Backbone.sync是Backbone每次向服务器读取或保存模型时都要调用执行的函数。默认情况下,它使用(jQuery/Zepto).ajax方法发送RESTfuljson请求。如果想采用不同的持久化方案,比如WebSockets,XML,或LocalStorage,我们可以重载在model/collection中重载sync()方法。2. iPhoneSafari下在ajax回调函数里执行window.o
阅读全文
摘要:近一个月参与了项目组的一个webapp的开发,期间遇到了一些问题,也学到了许多,现总结如下:1 webapp一般架构和js框架相对其它的网页,webapp的页面不重载(或极少重载)(SPA)。SPA表现在hash驱动。所有的看似切换页面的效果实际上是通过javascript模拟的,用户通过ajax或jsonp的形式与服务器交互,由前端渲染页面和展示结果,故而需要前端完成更多更复杂的逻辑和计算。通常,构建一个webapp,javascript需要提供和完成以下功能:(1)对模型,控制器,视图的分离,按照设计app的设计思路来完成一个在浏览器中运行的app(如果采用MVC的话,并不是所有情况下MV
阅读全文