网址:http://caniuse.com/#index
该网站提供了非常丰富的H5以及各种新型浏览器API,并且能够在网站上快速搜索某一属性在各个浏览器以及设备上的支持情况。
例如:搜索GEOLOCATION属性的支持。
这样极大的方便了日常H5开发的浏览器支持一览,如果需要支持低端浏览器,可以在重构HTML之前就查询相应的支持,从而判断如何使用降级版本处理方案。
优化了一下代码,结果如下。
调用:
<script type="text/javascript"> function aaa(){ var student_panel = new WX.student.AddStudent({ callback_fun:function(){ alert("我是页面的方法"); } }).show(); } </script>
组件定义
Ext.define('WX.student.AddStudent', { extend: 'Ext.window.Window', modal:true, height: 585, width: 590, layout: { type: 'fit' }, title: '新增学生', //用于组件函数回调 callback_fun:function(){}, initComponent: function() { var me = this; Ext.applyIf(me, { items: [ { waitTitle: '加载中...', items: [ ...... ], buttons:[{ text:'保存', scope:this, // <============== 关键参数 handler:function(){ //DO SOMETHING... alert("组件的事件"); this.callback_fun(); } }] } ] }); me.callParent(arguments); } });
工程里用到了Sencha ExtJs,因为特定的组件原因,导致很多组件得自己。组件定义完成之后的 Success_callback 因为之前没做过,所以这次把它记录下来方便以后查阅。直接上代码:
界面调用
<script type="text/javascript"> function aaa(){ var student_panel = new WX.student.AddStudent({ //传入回调函数,直接显示。 callback_fun:function(){ alert('我是界面的回调函数'); } }).show(); } </script>
组件部分代码
Ext.define('WX.student.AddStudent', { extend: 'Ext.window.Window', modal:true, height: 585, width: 684, layout: { type: 'fit' }, title: '新增学生', bodyPadding:'10 10 10 10', //用于组件函数回调 callback_fun:function(){}, initComponent: function() { var me = this; ...... // Panel 组件 buttons:[{ text:'保存', handler:function(){ //发送Ajax请求保存用户数据. //调用STORE之后的自定义回调函数 this.callback_fun } }] } .....
这里的做法有点类似Java的接口回调,在自定义模块中定义方法,提供按钮回调,界面初始化组件的时候用方法覆盖组件中的回调方法,达到回调的目的。
翻了一下上次的BLOG,整整七月只有一篇文章。不是因为太懒,确实也是因为很多事缠在身上,无法脱身。BLOG的更新也变得慵懒了。
整体来说,运气终于好转了,感谢上天的眷顾,让我有机会能够成为一个“不安分的程序员”。同时也感谢我的朋友、同事能够介绍各种业务。蓄积自己的资本。也让我有幸能够接触到各个行业,了解行业动态。扭转思维,用自己的专业来为传统行业做一点事。客观来说,IT 行业没有传说中的那么苦逼。仔细分析结合身边的案例,其实总体来说,行业还是呈一个上升的趋势。通过各种私单还是能够察觉出,各种各样的企业还是在关注信息化。并且本地团队更具优势,应该也是和中国的计算机不是很发达有关。大部分老板仅仅只是觉得我只需要一个网站介绍、分析我们的企业现状就行。网站仅仅只是充当了一个门面的效果。但是在这个上面确实还是大有空间可挖。
Rails 仍然是我的最爱,可惜最近一直没时间来折腾技术,一堆的私单都在压缩着我的学习、休息时间。定下的目标也没有完全完成,惭愧惭愧。多说无益还是去做正事吧。