- 博客(74)
- 收藏
- 关注
原创 IE兼容性问题汇总【持续更新中】
问题:IE8/9不支持Array.indexOf 解决方案if (!Array.prototype.indexOf){ Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1])
2016-03-08 09:27:17
2133
原创 nodejs学习笔记四——express-session
博友沉沉-_-的这篇express 框架之session分析的已经非常详细了,本人这里就不描述了。 总结其中的几个关键点。1.http协议规定http链接是无状态的链接,cookie和session的出现就是为了让服务器能识别客户端请求的连接状态(通过读取他们的值来识别)。2.session的实现方式分为两种:cookie和url重写 cookie方式就是服务端保存sessio
2016-03-08 09:27:12
437
原创 我理解的this
this指的就是当前上下文环境对象,主要分两种情况。1.函数中的this指的是调用该函数的那个上下文环境对象 这个的理解还是非常重要的。 看一个全局函数的例子var b = 1;function a(){ alert(this.b);}a();//1 这里面函数a是属于全局变量window。所以调用a的时候实际上和window.a()等同。所以
2016-03-08 09:27:08
327
原创 js图片预加载
图片预加载有大体有几种方式 1.html标签或css加载图片。 显而易见我们使用img标签或者通过标签的background-image属性都可以实现图片的预加载。但是为了避免初次载入过多图片影响体验。一般最好在文档渲染完成以后再加载(使用window.onload等)。 2.纯js实现预加载空城计-Code记的Javascript实现图片的预加载的完整实现的预加载实例为
2016-03-08 09:27:06
1014
原创 js晋级篇——前端内存泄漏探讨
1.IE7/8 DOM对象或者ActiveX对象循环引用导致内存泄漏 循环引用分为两种: 第一种:多个对象循环引用var a=new Object;var b=new Object;a.r=b;b.r=a; 第二种:循环引用自己var a=new Object;a.r=a; 对于ECMAScript 对象而言,只要没有其他对象引用
2016-03-08 09:27:00
849
原创 js基础篇——变量
a.变量类型变量类型构造函数举例类型检测typeof字符串function String()var t = "chua";var m = new String("chua");"string"数字function Number()var t = 12;var m = new Number
2016-03-08 09:26:56
386
原创 js基础篇——call/apply、arguments、undefined/null
a.call和apply方法详解call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 t
2016-03-08 09:26:51
608
原创 nodejs学习笔记三——nodejs使用富文本插件ueditor
在做自己的nodejs项目的时候遇到需要使用ueditor。原来下载的是ueditor的jsp版本。目录如下 在ueditor.config.js中有配置服务器home路径(这个home路径能找到ueditor文件夹,可以使用这个路径访问ueditor内的静态资源,比如我的top.ctx为http://localhost:8080,那么我可以通过http://localhost:8080/
2016-03-08 09:26:49
2878
原创 nodejs学习笔记二——链接mongodb
a.安装mongoose库用来链接mongodb数据库 安装mongodb数据库参考mongodb安装 前言(怨言) 本来是想安装mongodb库来链接mongodb的,命令行到nodejs工程目录:npm install mongodb --save 但是发现报gyp ERR! stack Error:Can't find python executabl
2016-03-08 09:26:45
286
原创 mongodb 安装
a.安装 本人下载的是windows版本的3.2.1mongo,路径为https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.1-signed.msi 或者直接去官网也可以http://www.mongodb.org/downloads 不过需要注意的是mongodb 2.2 版本后已经不再
2016-03-08 09:26:42
379
原创 html/css基础篇——GET和POST的区别
本文前面部分转自木-叶的博文,后面有本人自己的一些总结和体会。 如果有人问你,GET和POST,有什么区别?你会如何回答?我的经历 前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。 这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把GET改个名字叫GET2。他
2016-03-08 09:26:38
658
原创 nodejs学习笔记一——nodejs安装
a.nodejs安装 nodejs的安装没有什么说的默认安装即可。安装包官网下载即可:nodejs官网 本人用的是window的安装包node-v4.2.6-x64.msi 安装完成后打开命令行查看使用node -v命令查看安装node版本,有版本号展示说明安装成功啦 需要创建一个文件夹作为nodejs服务器文件夹,比如本人在D:\chua下创建了一个chuaN
2016-03-08 09:26:35
318
原创 html/css基础篇——link和@inport详解以及脚本执行顺序探讨
先说一说两者之间的异同 两者都可以引用外部CSS的方式,现在主流浏览器两者都支持(ps:@import是CSS2.1提出的),但是存在一定的区别:1.link是XHTML标签,除了加载CSS外,还可以定义其他事务;@import属于CSS范畴,只能加载CSS也只能在css代码里面使用。 link标签定义文档与外部资源的关系,最常见的用途是链接样式表以及浏览器标签图标。 他主要
2016-03-08 09:26:31
961
原创 js基础篇——localStorage使用要点
localStorage主要用来替代cookie,解决cookie(可参考cookie使用要点)读写困难、容量有限的问题。localStorage有以下几个特点1.localStorage是一个普通对象,任何对象的操作都适用。2.localStorage对象的属性值只能是字符串。 这个需要特别注意了,假设我们要保存一个对象到localStorage中,可以使用拼接的方式。如v
2016-03-08 09:26:27
1047
原创 html/css基础篇——iframe和frame的区别【转】
转自共享圈的使用iframe的优缺点,为什么少用iframe以及iframe和frame的区别。其中本人不认同的地方有做小修改注:HTML5不再支持使用frame,iframe只有src 属性一、使用iframe的优缺点优点: 1.程序调入静态页面比较方便; 2.页面和程序分离;缺点: 1.iframe有不好之处:样式/脚本需要额外链入,会增加请求。另外用js防盗链只防得了小偷,防不了大
2016-03-08 09:26:22
624
原创 js基础篇——cookie使用要点
1.Cookie数量和长度的限制。各个浏览器的限制不同IE7+和Firefox最大限制为50条,chrome和Safari无限制,IE6-最大限制20条。且所有浏览器限制每个cookie长度不能超过4KB,否则会被截掉。 所以:现代浏览器cookie个数不要超过50条,大小不能超过4KB;简而精。2.安全性问题。客服端每次访问服务端都会携带cookie,cookie容易被人拦截,所有的s
2016-03-08 09:26:18
356
原创 兼容IE、Firefox的背景半透明内容不透明设置
首先要说明的是背景是内容的祖先元素。如果是兄弟节点那就没有必要记录这篇文章了。 记录一下,知其然也知其所以然。IE8-特点: 1.不支持"opcity:0.5;"这种写法,只支持"filter:alpha(opacity=50)"。 2.如果背景元素拥有css属性设置了z-index的值(除默认值auto外),则内容会随着背景元素一起半透明 3.如果背景元素的内容元素本
2016-03-08 09:26:13
525
原创 基于jQuery的一个简单的图片查看器
项目中自己diy了一个图片查看器。因为初始代码不是自己的,只是在上面改了一下也没有弄的很漂亮。等以后有时间了在重写一下样式和封装,作为备用的只是积累吧。如果有童鞋有用到,完全可以在此基础上改,比较容易,代码也比较简单 图片查看器主要有几个功能: 1.显示图片和图片信息(图片名称、发布者等等) 2.切换图片 3.关闭图片查看器 初始化接口函数pictureViewer
2016-03-08 09:26:09
350
原创 弹出框优化实例(alert和confirm)
在项目过程中会遇到需要使用自己定义的弹出框的情况。以前用过ymprompt,但是它太复杂而且不好自己操控。所以自己写了一个弹出框实例。 主要有两类弹出框alert和confirm。基于jQuery alert([title,]des[,callback]): title: 弹出框标题,string类型,可选 des: 弹出框内容描述,string类型,必须 call
2016-03-08 09:26:04
1346
原创 多个ajax请求下等待条显示和隐藏的简单处理
处理为遇到ajax请求就显示等待条,直到所有的ajax请求执行完毕才关闭等待条。比较简单,源码如下(基于jQuery)//基于jQuery //从第一个ajax请求发出开始显示等待条?直到一系列ajax请求全部结束才关闭等待条。 //任何ajax触发了ajaxSend事件会显示等待框,所有的ajax都执行完成(ajaxComplete事件)才会关闭等待框 $(function(
2016-03-08 09:26:00
1523
原创 将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
表单序列化类型的数据是指url传递的数据的格式,形如"key=value&key=value&key=value"这样的key/value的键值对。一般来说使用jQuery的$.fn.serialize函数能达到这样的效果。如何将这样的格式转化为对象? 我们知道使用jQuery的$.fn.serializeArray函数得到的是一个如下结构的对象[ { n
2016-03-08 09:25:57
281
原创 placeholder的兼容处理(jQuery下)
这是一个老问题,结合前辈们的经验,需要处理的问题有一下几个。 1.只有输入框(input/textarea)下的palaceholder属性存在的时候才需要处理这类兼容 2.处理好输入框上焦点和是焦点的文本显示 3.密码输入框比较特殊,因为为其设置显示文本时显示的是一串“***”。这个问题后面分析。处理好前两点还是比较简单的,处理源码为如下var browserSuppo
2016-03-08 09:25:53
572
原创 滚动条滚动到页面底部继续加载的处理实例
这个实例应该说可以很简单,直接使用jQuery的方法来处理也是可以的。但本文底层使用原生的js来处理,遇到一些小知识点可以分析一下也算有所得。 原理很简单,就是为window添加一个scroll事件,浏览器每次触发scroll事件时判断是否滚动到了浏览器底部,如果到了底部则加载新数据。关键是计算滚动条是否滚动到了浏览器底部,算法如下 滚动条卷起来的高度 + 窗口高度 > 文档的总高度
2016-03-08 09:25:48
598
原创 html/css基础篇——html代码编写过程中的几个警惕点
本文想说的警惕点与浏览器兼容无关,主要是几个本人在项目中遇到的几个小问题的总结,问题虽小,但是却有时很困扰人,在此记录一下,如果后期有此类问题会持续添加到这里。 1.内联标签之间的空格 正常情况下书写html代码的时候都有换行、缩进等习惯,比如 head> meta charset="utf-8"> style> html,body, div
2016-03-08 09:25:44
366
原创 多iframe使用tab标签方式添加、删除、切换的处理实例
紧接着上一篇随笔iframe的内容增高或缩减时设置其iframe的高度的处理方案 如果采用iframe来切换显示内容的方式来展现办公Web。那么需要解决几个问题 1.tab标签需要和显示的iframe一一对应,当点击到某个tab页签的时候需要切换到对应的iframe。 2.需要有新增、删除页签的tab功能。 3.在tab页签之间切换的时候需要有一个记录点击的页签的历
2016-03-08 09:25:39
12162
1
原创 iframe的内容增高或缩减时设置其iframe的高度的处理方案
WEB管理软件往往是如下结构的 用户点击子页tab切换中部的显示内容,在切换过程中需要保证前面的子页保持先前的状态。这种情况一般都使用iframe来来作为切换的子页显示内容。 但是这里有一个问题,iframe不能做高度(height)的自适应。理想状态是当iframe高度超过中部内容显示区的高度的时候iframe自动增高,这样主页面会出现滚动条来做适应。处理方式即不断计算ifr
2016-03-08 09:25:35
780
原创 IE9父容器overflow:auto时,子容器状态更改导致滚动条下出现额外空间的问题探讨
IE的每次跟新都会有一些奇葩的bug,我们默默承受了。 这个问题在项目中出现困扰了我近一个星期,这里记录一下。看下面实例 style> .panel{ width: 200px; overflow: auto; background-color: #f00; } .inner{
2016-03-08 09:25:32
1215
原创 js基础篇——原型与原型链的详细理解
js中的对象分为两种:普通对象object和函数对象function。 function fn1(){}; var fn2 = function(){}; var fn3 = new Function(); var fn4 = Function(); var obj1 = new fn1(); var obj2 = {};
2016-03-08 09:25:28
275
原创 window、document、html、body、element的事件属性比较
在分析jQuery的事件的时候有提到绑定事件的方式:Dean Edwards的跨浏览器事件绑定使用的方式是element["on" + type] = handleEvent; 即绑定的事件的前提条件是element.onxxx属性必须存在。jQuery的绑定方式是使用浏览器的绑定绑定方法if ( elem.addEventListener ) { elem
2016-03-08 09:25:23
737
原创 报告一个IE很奇葩的滚动条问题——百分比计算宽度为浮点数时的滚动条显示异常
起因: 做项目的时候做了一个表格内容超过DIV容器自动横向滚动处理。别的浏览器都正常;但是在IE下面明明表格table和容器DIV宽度一致但是却出现了滚动条。如图 然后本人做实验找了半天原因终于是找到了,是IE浏览器使用百分比计算宽度值不是整数值引起的。 实例1:使用百分比计算结果是整数的情况下显示正常。DOCTYPE html> html> head>
2016-03-08 09:25:19
1684
原创 jQuery 实现bootstrapValidator下的全局验证
前置: 引入jQuery、bootstrap、bootstrapValidator 问题描述: 项目中要求所有的表单输入框中都不能输入&符号。没有在bootstrap中找到有方法可用,只能自己动手了 思路: 使用正则。 分两种情况,第一种,如果输入框有自身的正则验证则不用去管(一般来说使用正则验证是严格控制输入的);第二种,如果没有正则则需要添加不能输入&的正则
2016-03-08 09:25:14
1443
原创 jQuery-1.9.1源码分析系列完毕目录整理
jQuery 1.9.1源码分析已经完毕。目录如下jQuery-1.9.1源码分析系列(一)整体架构jQuery-1.9.1源码分析系列(一)整体架构续jQuery-1.9.1源码分析系列(二)jQuery选择器jQuery-1.9.1源码分析系列(二)jQuery选择器续1jQuery-1.9.1源码分析系列(二)jQuery选择器续2——筛选jQuery-1.9.1源码
2016-03-08 09:25:10
427
原创 jQuery-1.9.1源码分析系列(十六)ajax——响应数据处理和api整理
ajax在得到请求响应后主要会做两个处理:获取响应数据和使用类型转化器转化数据a.获取响应数据 获取响应数据是调用ajaxHandleResponses函数来处理。 ajaxHandleResponses的功能有: - 为jqXHR设置所有responseXXX字段(值便是响应数据) - 找到正确的dataType (在content-type和预期的dataTyp
2016-03-08 09:25:08
445
原创 jQuery-1.9.1源码分析系列(十六)ajax——ajax处理流程以及核心函数
先来看一看jQuery的ajax核心处理流程($.ajax)a. ajax( [url,] options )执行流程 第一步,为传递的参数做适配。url可以包含在options中//传递的参数只是一个对象if ( typeof url === "object" ) { options = url; url = undefined;}//o
2016-03-08 09:25:03
677
原创 jQuery-1.9.1源码分析系列(十六)ajax——jsonp原理
json jsonp 类型 "json": 把响应的结果当作 JSON 执行,并返回一个JavaScript对象。如果指定的是json,响应结果作为一个对象,在传递给成功处理函数之前使用jQuery.parseJSON进行解析。 解析后的JSON对象可以通过该jqXHR对象的responseJSON属性获得的。json的处理只要是在ajaxConvert方法中把结果给转换成需要是json格
2016-03-08 09:25:01
383
原创 jQuery-1.9.1源码分析系列(十六)ajax——ajax框架
ajax的介绍就不多说了,点击可看. 既然是ajax框架,那么闲谈一谈jQuery的ajax处理思路。 现在的浏览器都支持ajax,只不过不同的浏览器使用方法可能有不同(IE使用new window.ActiveXObject("Microsoft.XMLHTTP"),标准浏览器使用new window.XMLHttpRequest())。如果按照这种思路,貌似jQajax只需要做好兼
2016-03-08 09:24:58
550
原创 js基础篇——encodeURI 和encodeURIComponent
转自zccst的又一次掉进encodeURIComponent的坑里了 问题: ajax.get ( url+'?k1'=v1+'&k2'=v2+'&k3'=v3, ... ); 由于URL只进行了encodeURI编码,所以想提交的参数有searchWord = a+b时,变成了a b。 解决办法: ajax.post( url, params,.
2016-03-08 09:24:54
323
原创 jQuery-1.9.1源码分析系列(十五) 动画处理——外篇
a.动画兼容Tween.propHooks Tween.propHooks提供特殊情况下设置、获取css特征值的方法,结构如下Tween.propHooks = { _default: { get: function(){...}, set: function(){...} }, scrollTop: {
2016-03-08 09:24:52
636
原创 jQuery-1.9.1源码分析系列(十五) 动画处理——缓动动画核心Tween
在jQuery内部函数Animation中调用到了createTweens()来创建缓动动画组,创建完成后的结果为: 可以看到上面的缓动动画组有四个原子动画组成。每一个原子动画的信息都包含在里面了。 仔细查看createTweens函数,实际上就是遍历调用了tweeners ["*"]的数组中的函数(实际上就只有一个元素)。 function createTwee
2016-03-08 09:24:49
604
原创 jQuery-1.9.1源码分析系列(十五) 动画处理
首先需要有队列(queue)的基本知识。见上一章。 a.动画入口jQuery.fn.animate函数执行流程详解 先根据参数调用jQuery.speed获取动画相关参数,得到一个类似如下的对象;并且生成动画执行函数doAnimationoptall = { complete: fnction(){...},//动画执行完成的回调 duration:
2016-03-08 09:24:45
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人