随笔分类 - JavaScript
摘要:https://github.com/zenorocha/clipboard.js 库,真的是个好库,而且不依赖flash,几乎完美支持移动端。但是,移动端应用有些不趟不知的小tip,这里归档下。 原理 没啥复杂的,基本就是创建一个input,文本塞进去,全部选中,然后document.execCo
阅读全文
摘要:前阵子跟server同学讨论一个Excel导出的需求,我说JS搞不定,需要server来做,被server同学强行打脸。 今天研究了下,尼玛,不光可以,还很强大了! 总结:经验是害人的,尤其是在发展迅速的前端圈儿,and,需要保持饥渴,保持对新技术的敏感度。 注:以下只探讨现代浏览器 1. 最简单的
阅读全文
摘要:今天一时兴起,写了一个渐进升级的异步调用demo,记录一下。 1. 最基础的同步调用 2. 引入异步回调 3. 回调函数名解耦 4. 更多层级的异步回调 4.1 试着优雅一点 5. 观察者模式拉平回调 重新思考下,看起来逐级依赖的函数回调,随着层级的加深,在传参和调用上都越来越吃力了。我们现在想办法
阅读全文
摘要:上面代码输出是5,如果希望输出是2 在我刚入行那个年代,这题目想考察的一定是闭包,如下: 但是,2016年开始,ES6成了面试必问套路。在ES6里面,多了一个答案,如下: 即 var 改为let,利用了ES6里的块级作用域。 今天,看一篇文章,突然看到了另外一个方案,这方案是ES5就支持的with,
阅读全文
摘要:两个月前给一个运营站点做了个封皮,今天再做竟然忘了怎么搞了。。。为之文以志。 流程参考: http://www.cnblogs.com/2050/p/3543011.html 相关命令: 文档: http://docs.nwjs.io/en/latest/References/Window/#win
阅读全文
摘要:测试同学突然拿着一部手机过来说,H5渲染各个元素都变大了,有些元素撑出了屏幕外面。 本来以为是某个Webview的渲染兼容问题,结果发现所有的浏览器都这样。 莫名其妙,隐约感觉是 rem计算出了问题,开始一点点查。 因为,组内移动端项目,统一约束了宽度满屏7.5rem,所以,先看看这个比例: 如下图
阅读全文
摘要:坑爹的ie,作为小组leader,尼玛,小伙伴儿们不乐意做的事情,我来做好了。。心累、、、 如果,各位同学有定制开发ie6-8版本的需求,还是尽量不要用单页应用模式了,也不要用avalon这类mvvm框架了,也不是不能做,这种mvvm模式写起来还是挺爽的。 只是一旦在 ie6上遇到奇葩问题,你会很闹
阅读全文
摘要:搜狐邮箱APP 使用了cordova框架,遇到了一些列问题,稍微总结记录下 扩展支持appInBrowser,用来以新窗口方式打开外链url 解决跨域问题(cordova默认当前域为localhost) 远程调试问题(Android通过chrome连接数据线开启远程调试) 模拟调试时,PC浏览器和A
阅读全文
摘要:一、父子交互的跨域限制 同域情况下,父页面和子页面可以通过iframe.contentDocument或者parent.document来交互(彼此做DOM操作等,如父页面往子页面注入css)。 跨域情况下,就会有限制,无法相互操作。 【解决办法】 1.主域不同 没招 2.主域相同,子域不同 以父(
阅读全文
摘要:/* animate*///直接加载(function() { var animate = {} //balabala window.animate = animate;})();//AMD 加载器模式define(function() { var animate =...
阅读全文
摘要:jq功能对照表 http://jsrun.it/21f/mrCH 不支持 jquery的 ajaxSetup 全局修改ajax的设置 $.ajaxSetup({beforeSend : beforeSend});function beforeSend(){ if(this.method == "po
阅读全文
摘要:把其他域的图片在canvas中转换为base64时,会遇到跨域安全限制。 目前,唯一可行的方案是,把图片文件以arraybuffer的形式ajax下载下来,然后直接转base4。 但是,这样有个毛病,就是可能会浪费带宽,多下载一次。 参考 http://stackoverflow.com/quest
阅读全文
摘要:今天在iphone6 plus的safari上测试这么一段代码: 发现,点击<img>和<a>是可以触发事件的,但是点击<div>无效。 1.起初,我以为是引用的zepto的问题,后来用了jquery之后,发现也是这个表现,并且,PC和Android设备都没有问题,唯独ios的safari无法触发事
阅读全文
摘要:今天遇到一个问题'5.4.0a'.match(/[\d.]+/)按照我之前的理解,[]表示里面的任意一个字符的意思,\d表示数字,.表示任意单个字符,这样的话,匹配结果应该是'5.4.0a'but,实践结果是'5.4.0'显然这里的.表示的只是. 并没有别的意思,'5.4.0a'.match(/[\...
阅读全文
摘要:需求:在浏览器或者app webview中打开的页面,js判断本机是否已安装搜狐新闻客户端。一、微信1.分享——好友/朋友圈,feed会有搜狐新闻标记,打开url后缀参数isappinstalled=0/1(本机已装app为1,反之为0)2.微信浏览器打开之后,点击右上角二次分享——好友/朋友圈,f...
阅读全文
摘要:1.jquery dataTable.js 官网:http://datatables.net/ 中文:http://dt.thxopen.com/2.汉化提示信息(放到xx.js中,引入即可) 注:只测试过DataTables-1.10.5版本/*汉化by lxf qq1140215489*/(...
阅读全文
摘要:1、多class筛选 有.a有.b的 .find(".a.b").length 有.a没.b的 .find(".a:not(.b)").length
阅读全文
摘要:一、DOM事件 1.事件阻止API preventDefault() — 阻止浏览器默认 stopPropagation() — 阻止事件流冒泡 stopImmediatePropagation() — 阻止事件流冒泡+阻止目标节点上绑定的其他优先级低的回调函数 2.jque...
阅读全文
摘要:引言在上一篇日志“canvas 图片拖拽旋转之一”中,对坐标转换有了比较深入的了解,但是仅仅利用坐标转换实现的拖拽旋转,会改变canvas坐标系的状态,从而影响画布上其他元素的绘制。因此,这个时候需要用到一对canvas方法,在变换坐标系前保存canvas状态,在变换并绘制完成之后,恢复canvas...
阅读全文
摘要:引言对canvas中绘制的图片进行旋转操作,需要使用ctx.translate变换坐标系,将图片旋转的基点设为坐标系的原点,然后ctx.rotate旋转。这个时候,因为canvas坐标系发生了旋转,而视觉感受上的坐标以及鼠标事件中的坐标都是旋转之前的屏幕坐标系。再根据鼠标的移动去控制canvas中的...
阅读全文

浙公网安备 33010602011771号