- 博客(38)
- 收藏
- 关注
原创 Extjs6+svg实现类似pdf图片预览页面
一、创建项目本项目采用的是extjs6.2,话说个人感觉ext4到ext6变化其实也并不大,大部分之前写的ext4的代码迁移至ext6上,并没有太大的问题,修改的地方并不多。
2017-09-30 16:56:31
1529
原创 ECMAScript6的新特性总结
一、ES6新增块级作用域在块级作用域内声明的变量不会被外部所访问,而在此之前,只能用闭包的方式解决全局变量污染的问题;比如新增变量let/cont;1、let声明
2017-09-24 18:39:09
1011
原创 HTTP基本原理解析
HTTP是一个属于应用层的面向对象的协议,目前广泛使用的是HTTP/1.1,在此之前是HTTP/1.0,以及较多扩展的HTTP/1.0+,而最新的HTTP-NG目前还没形成统一的协定。HTTP主要特点如下:1、支持客户/服务器模式;2、使用简单,只需要传送请求方法和路径,就可获得服务器传送的信息,常用的请求方法有GET、HEAD、POST、DELETE;3、允许传输任意类型的数据对象,
2017-09-20 11:53:47
546
原创 浅谈散列表(哈希表)
散列是一种常用的数据存储技术,散列后可以快速插入和取用数据,散列使用的数据结构叫散列表也叫哈希表;一个简单的散列函数如下:function HashTable(){ this.table = new Array(137); this.simpleHash = simpleHash; //this.betterHash = betterHash; this.showDistro =
2017-09-12 19:23:39
369
原创 基于extjs4 + svg工作流编辑器设计
用svg做一个简单的画板编辑器,实现图形自动创建,拖动,多选,单选,画框,连线,数据绑定,保存,修改等功能,如图:主要讲下几个关键的点;1、关于左侧菜单栏拖动图形到画板上自动生成相应的图形主要是这个组件“Ext.dd.DropTarget”,如:Ext.create('Ext.dd.DropTarget', body, { ddGroup: 'model-to-canva
2017-09-07 10:34:29
2523
原创 跨域的几种解决方法
跨域是指只要协议、域名、端口有任何一个不同,都被当作是不同的域,不同域之间的访问就叫跨域。URL 说明 是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许http://www.a.com/lab/a.jshttp://www.a.com/script/b
2017-06-19 00:39:23
410
原创 JavaScript中链式调用及惰性调用
一、链式调用链式调用方法有很多如angular中的http请求方法:$http.get(url).success(fn).error(fn);1、最常见的实现方法就是return this;每次都返回当前对象function ClassA(){ this.prop1 = null; this.prop2 = null; this.prop
2017-05-21 01:43:34
1305
原创 js数组的简单操作一
一、数组去掉重复元素function newArr(arr){ var newArr = []; var strArr = []; for(var i = 0; i < arr.length; i++){ if(strArr[arr[i]] == null){ newArr.push(arr[i]); strArr[arr[i]] = true; } } retu
2017-05-21 00:08:20
373
原创 js基本算法--冒泡排序法、快速排序法、插入排序法、二分查找法(递归、非递归)
一、冒泡排序法1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。2、第一轮的时候最后一个元素应该是最大的一个。3、按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。function sort(eles){ for(var i = 0; i < eles.length-1; i++){ for(var j = 0;
2017-05-20 22:21:54
1273
原创 浅谈this函数的用法
1、this代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表哪个对象。2、用于构造函数之间进行互相调用,this语句只能定义在构造函数的第一行。因为初始化要先执行。3、this.是指本类,this语句是用于构造函数间简化。
2017-05-20 19:27:07
1863
原创 jQuery事件委托机制
DOM在为页面中的每个元素分派事件时,相应的元素一般都在事件冒泡阶段处理事件。利用事件传播机制,就可以实现事件委托。具体来说,事件委托就是事件目标自身不处理事件,而是把处理任务委托给其父元素或者祖先元素,甚至根元素(document)。比如:delegate、undelegate、bind、unbind、live、on等方法;可以直接操作父元素,处理子元素的事件如:$("#parent")
2017-05-20 19:18:39
420
原创 JavaScript中关于事件绑定、冒泡、捕获和执行顺序
有空总结了下JavaScript中关于事件绑定、冒泡、捕获和执行顺序一、事件绑定有如下几种方式:1、直接写在HTML元素标签上,如onclick="";2、通过dom元素属性如id, class绑定执行函数;3、像旧版ie使用attachEvent/detachEvent方式绑定事件(不推荐)4、使用W3C标准的addEventListener和removeEventListe
2017-05-20 19:03:13
447
原创 cordova-plugin-local-notification在ios平台编译报错
在安卓平台编译正常,但在ios执行cordova platform add ios报错,提示无法找到de.appplant.cordova.common.registerusernotificationsettings,这是因为插件后台地址改变了,把de.appplant.cordova.plugin.local-notification目录下的plugin.xml文件中的de.appplant.
2016-12-23 10:58:23
1151
原创 sencha touch在android物理后退键解决方法
像ionic我们可以用route.js去专门管理路由地址,但在sencha touch,由于页面地址固定,只能通过虚拟后退键去实现后退,但Android自带的后退键类似浏览器后退键,点击是直接退出app的,而不是返回上一页。其实在sencha touch也可以通过路由方式记录页面,这样就可用物理后退键去返回了,一个简单的登录注册例子如下:首先在controller中定义一个专门管理页面切换的文
2016-12-21 02:02:42
988
原创 ionic+cordova基于websocket实现的实时通报提醒功能
app接收后台发出的请求,并通过状态栏提示用户有新的消息,这里首先要解决的就是前后端如何互联,像pc端的应用,一般会采用前端定时请求后台,但如果要app定时去访问后台的话,对用户来说并不友好,这会消耗用户大量的移动流量,移动端最好的方式就是后台主动向app推送信息,h5提供了一种比较好的方式就是websocket,用户打开app后,向后台发出请求,后台相应后,就可以实时向前端推送信息了,而无需ap
2016-12-21 00:34:54
9522
原创 ionic通过判定设备来加载对应的css样式
ionic虽说完全兼容android及ios,但在实际应用中我们可能需要为android或ios单独设置css样式,这个时候可以通过cordova去判别当前设备的类型如下if(/iphone/i.test(navigator.userAgent) || /ipad/i.test(navigator.userAgent)){ //ios调整样式 }else{ //androi
2016-12-20 19:08:00
2379
原创 关于ion-nav-bar标签对页面切换的影响
第一次使用ionic时,由于没有去看官方文档,直接修改官方提供的例子,首页index.html配置如下:
2016-12-20 18:52:27
1024
原创 更改ios顶部状态栏字体颜色
下载cordova插件cordova-plugin-statusbar后在配置文件config.xml中加入: 这主要是更改状态栏字体及背景,但我在测试的时候只有这个能起作用,就是更改字体颜色。app在启动封面过程中前几秒状态栏并没有更改,这时可以设置下xcode中general下的Status Bar Style,设置字体颜色,这样启动的时候状态栏也发生变更。
2016-12-20 18:13:57
1962
原创 ionic在ios侧滑页面空白
本人在ios10左右滑动的时候,经常出现左滑页面后退,然后整个页面空白现象,只能强行退出,并重新登录,最简单的方法就是禁用侧滑后退这个功能;在app.js上config增加如下:$ionicConfigProvider.views.swipeBackEnabled(false);警用视图滑动后退
2016-12-20 17:34:41
1555
1
原创 cordova连续打开两次相机解决方法
在使用拍照功能的时候会出现打开相机,拍完照,点击确定,结果又自动重新打开相机,我的解决方法是加入$cordovaToast这个方法,代码如下$cordovaToast.showShortCenter('正在打开摄像头...').then(function(success) { $cordovaBarcodeScanner.scan().then(function (result) {
2016-12-18 02:39:57
1424
原创 angular提交表单http写法
提交带参数的数据httpPost: function (data, url) { var deferred = $q.defer(); $http({ method: 'POST', url: url, headers: {'Content-Type': 'application/x-www-form-urlencoded'},
2016-12-18 00:44:15
2500
原创 增加数组删除指定元素方法
Array.prototype.removeByValue = function(val) { for(var i=0; i<this.length; i++) { if(this[i]==val) { this.splice(i,1); break; } }};
2016-12-18 00:37:47
333
原创 ionic—cordova如何一次上传多张图片(类似input file提交表单)
我们可以通过cordova提供的插件调用摄像头或图库选择需要的图片上传,按cordova官方的方法,每次选择完后就直接上传,这并不符合用户的习惯,最好的用户习惯是用户选择完需要的图片,并可在本地预览,接着用户再次打开摄像头或图库再次选择图片,接着预览,对于不需要的图片删除,最后确定可以后,再一次性上传所有图片。显然这种方式,cordova是不支持,那要如何实现呢,以下是我的方法:通过调用$co
2016-12-16 02:15:11
4215
原创 ionic参数传递及临时存储及长期存储的思路
页面数据传递是不可避免的问题,ionic可以通过路由方法来传递数据,在路由配置文件里通过增加params: {'data': null},然后在页面跳转的时候携带参数即可,如$state.go('demo',{data: '参数'}); 这是其中一种思路,也可以通过services.js来临时存储数据,可以仿照Java通用的get/set的方法去存储数据,如我的写法: .service('C
2016-12-16 01:39:57
1168
原创 ionic集成Crosswalk内核注意事项及步骤
在低版本安卓系统上,运行ionic cordova打包的app,会出现不流畅的现象,如列表滑动、上滑刷新、页面切换等,最好的办法就是集成crosswalk内核,在性能上会有质的提供,但本人测试的时候发现,在高版本系统上运行,反而流畅度降低了,原因不明,先说下crosswalk配置步骤cordova有专门的插件cordova-plugin-crosswalk-webview,这就不需要用ioni
2016-12-16 01:24:57
5416
原创 ionic页面切换卡顿解决方法
使用ionic开发app的时候,会发现切换页面的动画会卡顿,并不流畅,为了保证用户体验,大部分人会使用禁用动画的方法$ionicConfigProvider.views.transition('no');,但并不是最好的解决思路,cordova提供了native transitions可以让页面切换近乎原型的体验。主要步骤如下:1、npm install ionic-native-transi
2016-12-16 01:07:46
8489
原创 关于cordova混合型app使用input file注意事项
我在做app调用手机摄像头及图库接口时,一开始是采用cordova提供的插件cordova-plugin-camera(摄像头接口)、cordova-plugin-image-picker(调用图库)方法获得本机摄像头及图库访问权限,具体如下:
2016-12-15 02:31:20
4220
原创 jquery mobile简单开发总结
jquery mobile可以说是前端人员最容易上手的移动开发框架了,基本上会使用jquery的,都可以轻松的使用jQuery mobile去开发webapp或者是Hybrid app。像我之前就是使用jQuery mobile + cordova的方式开发hybrid app,当然啦,现在早就抛弃jQuery mobile了,只是稍微总结下之前的开发经验。一开始我拿到手的是一个半成品的j
2016-12-14 02:14:11
2429
原创 JavaScript中apply、call和bind的区别
在JS中apply、call和bind都是用来改变函数的this对象的指向的,他们相似的地方如下:1、都是用来改变函数的this对象的指向;2、第一个参数都是this要指向的对象;3、都可以利用后续参数传参;
2015-11-26 18:04:57
412
原创 JavaScript中寄生组合式继承的理解
寄生组合式继承是组合式继承和寄生式继承的结合版:组合式继承:JavaScript实现继承的方式主要有两种:1、通过原型链继承;2、借用构造函数;//通过执行构造函数设置属性function A(){ this.a = 1;}//通过原型设置属性A.prototype.b = 1;原型链继承可以实现所有属性方法的共享,但是无法做到属性方法独享。借用构造函数除了能独享属
2015-11-26 01:49:10
916
原创 chome debug调试工具使用经验小结(持续更新...)
打开谷歌浏览器,按F12即可打开调试界面,如下:小博一般习惯选择独立窗口,这样比较好调试:如下:首先介绍下Elements选项,主要是查看、编辑页面上的元素,可以动态修改html和cssElement直接双击标签页右侧直接双击可进行修改,时时查看效果。接着是Resources标签页,可以查看请求的资源情况,包括js、html、css、cookies、databa
2015-11-08 02:30:25
584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人