1. {literal}{/literal}作用是防止javascript和smarty的冲突,因为js里面一般存在{}大括号。
2. Hosts文件必须编码必须是ANSI编码格式,否则windows不认。
3. Seo优化中,分页ajax爬取数据方法,在分页按钮中的a标签添加分页href地址就行。
4. Php中urldecode的作用是本函数将 URL 编码后字符串还原成未编码的样子。编码使用 %## 的格式。
5. Php中iconv方法实现php默认方法的转换编码,形如iconv("GBK", "UTF-8//IGNORE",参数),ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
6. ?__DEBUG_MODE__可以在地址后面添加,用来监测页面错误。
7. header("Content-type: text/html; charset=utf-8");PHP中可以设置页面页头信息,注意后面的值可以设置编码,如果没有有可能会乱码。
8. jquery的.data赋值在2.1.1版本有bug,赋值没有更新到显示上,但是之后获取的是赋值以后的值,zepto不存在这种问题,为了保持兼容性还是使用attr赋值。
9. http://report.bonree.com/login/login.jsp可以监控网站性能。
10. Iscroll这个插件有一些坑,集中在设置click为true上,不同设备和浏览器上显示效果不同,uc上要为false(uc最新版本10.1.x.x又不会click两次了,坑啊),安卓原生浏览器上低于4.4版本要设置为false(三星手机要设置为true),4.4以上为true,ios上为true不存在问题。
11. Canvas绘图中,如果它的父容器设置了overflow:hidden;属性并且canvas使用transform方式改变位置会出现重影问题即在本身canvas上又画了一层无法消除,将canvas父容器设置上transform-x(0px)可以解决。
12.当不是完整的seajs模块化时出现在一个异步加载的js文件中使用另一个js文件的函数时,可以使用seajs.use(“需要的js文件”,function(){需要的js文件中的函数执行}),这样处理。
13.当safari浏览器使用无痕模式浏览时不允许储存localStorage的setItem方法会导致报错,所以要使用trycatch 的方法避免这种错误出现,否则会阻断之后的js运行,为页面健壮性考虑。
14.Jquery可以使用extend来深度复制对象,方法为var s=$.extend(true,{},要复制的对象)。
15.Photoswipe3.0.5版本在ios上无法双击放大的原因在于在代码判断了ios环境/*a.Browser.iOS ? (this.containerEl = a.DOM.createElement("div", "", ""), a.DOM.setStyle(this.containerEl, {left:0, top:0, width:h, height:j, position:"absolute", zIndex:1}), a.DOM.appendChild(this.imageEl, this.containerEl), a.DOM.appendChild(this.containerEl, this.el), a.Animation.resetTranslate(this.containerEl), a.Animation.resetTranslate(this.imageEl), this.transformEl = this.containerEl)*/ : (a.DOM.appendChild(this.imageEl, this.el), this.transformEl = this.imageEl);去掉前面的判断后就恢复正常了。
16.Seajs合并压缩时使用数组储存非模块化的js,require模块的不需要处理,在服务器端设置combo就可以实现文件合并了。
17.英文及数字换行的css样式为word-break:break-all;。
18.使用transform做动画时,在定义动画的那个class里面要写上动画停止后的最终效果css,动画播放完成才会停止在最后状态,或者使用animation-fill-mode:forwards来让动画停止在最后一帧。
19.Jquery默认支持的是amd,在用seajs加载的时候搜索amd改为cmd即可。
20.Js字符串链接不如数组join快(这句话是错误的,现代浏览器几乎没有影响,而且如果单纯是字符链接的话,+的方式要比数组快N倍)。
21.Canvas的clearRect方法在安卓低版本opera浏览器和小米黄页上失效,需要使用强制刷新的方式来实现动画效果,具体实现就是通过canvas元素的删除和从新添加实现或者使用z-index不停设置层级来设置。
22.日期时间选择器可以使用wdatepicker,http://www.my97.net/
23.在火狐中使用Date时,new Date()返回值有兼容性问题,需要特殊处理一下
24.使用visibilitychange,浏览器标签页被隐藏或显示的时候会触发visibilitychange事件,使用方法为
document.addEventListener("webkitvisibilitychange",
function (event) {
var hidden = event.target.webkitHidden;
if (hidden)
audioElement.pause();
else
audioElement.play();
}
, false);。
25.在使用删除cookie的操作中,出现了在乐视手机及5s等手机中设置expires失败的情况(也就是无法删除cookie),这里可以用localstorge替换或者根据正则处理掉,注意这个特质实际上在微信中非常创建,所以建议h5页面尽量使用localstorge