随笔分类 -  javascript

微信转发相关脚本
摘要:(function(){ var imgUrl = "http://sunnyzhen.github.io/public/img/sunny.jpg"; var lineLink = location.href; var descContent = ""; var shareTitle = docu 阅读全文

posted @ 2016-01-29 09:07 迷茫小飞侠 阅读(1364) 评论(0) 推荐(0)

网页 调用 原生应用
摘要:可以从页面挑战到APP,也可以从APP跳回页面啦 从网页上是没办法检测手机是否安装了某个应用,但是有一个小技巧:如果能打开本地应用的话,就会跳出页面打开(从而关掉定时器),不会转向下载页,而不能打开本地应用,就会转向下载页面 知乎代码: $("#js-open-in-app").on("click" 阅读全文

posted @ 2016-01-29 09:02 迷茫小飞侠 阅读(375) 评论(0) 推荐(0)

File API简介
摘要:File API让我们可以创建文件,存储在本地文件系统的一个安全沙箱里,亦可以从其他来源读取文件,并对其进行操作 Web应用通过requestFileSystem方法来访问本地文件系统,该方法是全局的: requestFileSystem(type, size, successCallback, o 阅读全文

posted @ 2016-01-28 15:38 迷茫小飞侠 阅读(1079) 评论(0) 推荐(0)

jQuery 插件格式 规范
摘要:方式一(自定义对象): (function($, window, document) { var Plugin, defaults, pluginName;调用时的函数名: pluginName = "slidesjs"; 默认配置: defaults= { width: 940, height: 阅读全文

posted @ 2016-01-28 15:36 迷茫小飞侠 阅读(326) 评论(0) 推荐(0)

strict 严格模式
摘要:严格模式可以让你更早的发现错误,因为那些容易让程序出错的地方会被找出来 打开严格模式:"use strict" 不支持的javascript引擎会忽略它,当作是一个未赋值字符串。如果在一个脚本使用全局使用严格模式,那么在同一个页面的其他脚本也会严格。也可以在某个函数里声明使用严格模式。 在平时,没有 阅读全文

posted @ 2016-01-28 15:29 迷茫小飞侠 阅读(217) 评论(0) 推荐(0)

ie 如何判断正在执行的脚本
摘要:1、在非ie浏览器里,script上的onload事件会准确地在脚本执行完以后触发 2、在ie浏览器里,如果脚本是在缓存里的话,那么onload事件是在你把script标签插入Dom结束时马上执行的 3、如果脚本不在缓存里的话,当调用define的时候,遍历script标签,当前正在执行的脚本会有: 阅读全文

posted @ 2016-01-28 15:27 迷茫小飞侠 阅读(301) 评论(0) 推荐(0)

async
摘要:HTML5新增,通过给外部脚本添加async告诉浏览器,如果支持的话,异步执行该代码。无法让inline 脚本异步执行 另一种方式(这样动态创建的默认为async): var script = document.createElement('script'); script.src = "file. 阅读全文

posted @ 2016-01-28 15:26 迷茫小飞侠 阅读(188) 评论(0) 推荐(0)

void 0
摘要:zepto源码中出现,this === void 0,下面就是解释: void 关键词会执行后面的表达式然会返回undefined https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void 例如: 阅读全文

posted @ 2016-01-28 15:23 迷茫小飞侠 阅读(183) 评论(0) 推荐(0)

区分window8中 ie10 window phone8
摘要:Internet Explorer 10 并没有对 屏幕的宽度 和 视口(viewport)的宽度 进行区分 @-webkit-viewport { width: device-width; } @-moz-viewport { width: device-width; } @-ms-viewpor 阅读全文

posted @ 2016-01-28 15:23 迷茫小飞侠 阅读(139) 评论(0) 推荐(0)

touch pointer
摘要:在早期的浏览器,输入的事件其实相对单纯,只有考虑到鼠标和键盘两种;而当时的鼠标事件,其实就是 click、mousedown、mouseup 等等的事件。但是当手机、平板开始流行时候,再移动装置上的主要操作界面,已经从鼠标变成是触控了~ 由于触控和鼠标的操作逻辑,算是有根本上的差异的,再加上大部分的 阅读全文

posted @ 2016-01-28 15:22 迷茫小飞侠 阅读(291) 评论(0) 推荐(0)

全局作用域 eval
摘要:eval是在caller的作用域里运行传给它的代码: var x = 'outer'; (function() { var x = 'inner'; eval('x'); // "inner" })(); 在 ES5,可以分为direct调用或者indirect调用,和是否在strict模式调用 ( 阅读全文

posted @ 2016-01-28 15:21 迷茫小飞侠 阅读(169) 评论(0) 推荐(0)

Web worker
摘要:Web worker允许异步运行大量复杂耗时长的代码,这样就不会弹出long running警告。允许你在Web页面中并行地运行JavaScript程序而不阻塞用户接口,实现了对多线程编程的支持(众所周知,JavaScript是单线程的,即便是setTimeout和setInterval等实现了对多 阅读全文

posted @ 2016-01-28 15:20 迷茫小飞侠 阅读(252) 评论(0) 推荐(0)

filereader api 类型
摘要:filereader类似XMLHttpRequest,只是它用来从文件系统读取文件,提供了不同的方法去读取文件数据:1、readAsText2、readAsDataURL3、readAsBinaryString4、readAsArrayBuffer 读取的过程是异步的,有一些事件可以监听,progr 阅读全文

posted @ 2016-01-28 15:19 迷茫小飞侠 阅读(257) 评论(0) 推荐(0)

URLs对象 blob URL
摘要:把指向数据的URL保存到file或者blob对象里,好处就是不需要先文件读取内容然后才能用。 function createObjectURL(blob){if (window.URL){return window.URL.createObjectURL(blob);} else if (windo 阅读全文

posted @ 2016-01-28 15:19 迷茫小飞侠 阅读(2693) 评论(0) 推荐(1)

Page visibility 页面可见性
摘要:一直以来,判断页面是不是当前可见标签,浏览器有没有缩小都是比较麻烦的。 通过页面可见性API可以获得相关信息document.hidden 判断页面当前是不是可见的document.visibilitystate 过得页面状态,背后的标签或者前面的标签,预览图状态(类似window的小预览图)等四种 阅读全文

posted @ 2016-01-28 15:16 迷茫小飞侠 阅读(270) 评论(0) 推荐(0)

requestAnimationFrame()
摘要:因为settimeout和setinterval是无法保证执行时间的。加上浏览器的定时器不是精确到1毫秒:Ie8及之前版本为15.625,也就是你设定的时间为0-15的话,那么最终执行可能是0毫秒或者15毫秒后执行Ie9之后和chrome为4火狐和safari为10当该页面被切换出去,非激活,对定时 阅读全文

posted @ 2016-01-28 15:15 迷茫小飞侠 阅读(452) 评论(0) 推荐(0)

定时器的高级运用 优化
摘要:JavaScript是单线程的,因此在JavaScript的主执行线程上,有一个需要执行的代码队列,例如当一个按钮被点击,那么他的event handle就被添加到队列并在线程让出来的时候执行。所以说并没有真正意义上的马上执行,需要等到线程空闲才可以。 定时1秒后执行某些代码,只是说把这些代码添加到 阅读全文

posted @ 2016-01-28 15:13 迷茫小飞侠 阅读(504) 评论(0) 推荐(0)

定制事件 观察者模式
摘要:事件模型是观察者模式的一种类型 原理就是:对象在它生命周期里当一个特别状态出现的时候下可以发布事件,其他对象可以观察这个对象,等待那些特别状态出现的时候再做出反应。 观察者模式由两种类型对象组成: subject : 就是负责发布事件的 observer: 观察者就是负责观察subject ,通过订 阅读全文

posted @ 2016-01-28 15:13 迷茫小飞侠 阅读(275) 评论(0) 推荐(0)

函数柯理化
摘要:通常创建柯理化函数的方式: function curry(fn){ var args = Array.prototype.slice.call(arguments, 1); return function(){ var innerArgs = Array.prototype.slice.call(a 阅读全文

posted @ 2016-01-28 15:12 迷茫小飞侠 阅读(767) 评论(0) 推荐(0)

tamper-proof 对象 nonextensible对象 sealed对象 frozen对象
摘要:tamper-proof 对象JavaScript的缺点之一就是每个对象都可以被相同执行上下文的代码修改,很容易导致意外覆盖,或则一不小心把native 对象覆盖。Ecmascript 5提供了 tamper-proof 对象来解决这个问题。一旦一个对象被设为 tamper-proof 对象就无法撤 阅读全文

posted @ 2016-01-28 15:12 迷茫小飞侠 阅读(257) 评论(0) 推荐(0)

导航