随笔分类 -  javascript

跨域 Ajax 其他可选技术 异步
摘要:使用image pings 最早的跨域方法之一就是使用这个,任何域的<img>和<script>元素都可以随便加载。 var img = new Image(); img.onload = img.onerror = function(){ alert(“Done!”); }; img.src = 阅读全文

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

progress 相关事件 异步 ajax
摘要:loadstart — Fires when the fi rst byte of the response has been received.progress — Fires repeatedly as a response is being received.error — Fires when 阅读全文

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

Ajax 跨域 异步 CORS
摘要:HTTP access control (CORS) 核心在于使用定制(添加新的header)HTTP header让浏览器和服务器有更多的相互了解,从而决定一个请求或者响应成功还是失败 对于一个简单的请求,没有定制header并且body是text/plain的话,该请求发送的时候会带上一个hea 阅读全文

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

Ajax comet XMLHttpRequest 异步
摘要:function createXHR() { if (typeof XMLHttpRequest != “undefi ned”){ return new XMLHttpRequest(); } else if (typeof ActiveXObject != “undefined”){ ie6及以 阅读全文

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

XMLHttpRequest2 异步 ajax
摘要:XMLHttpRequest1只是对已经存在的xhr对象细节进行规范定义, XMLHttpRequest2升级了该对象。 FormData 类型可以用在xhr传输的时候,把表单序列化或者将数据以表单格式传输Var data = new FormData()data. append("name","x 阅读全文

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

安全的 类型检测 类型判断
摘要:typeof检测的问题: 在 Safari (through version 4) 检测正则表达式会返回 function instanceof 检测的问题: 跨全局对象(frame)问题 arr1(来自一个frame) instanceof Array; 返回false 其他问题: 检测一个对象是 阅读全文

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

函数绑定
摘要:var handler = { message: "哈哈", handleClick: function(event){ alert(this.message); } };document.body.addEventListener("click", handler.handleClick, fal 阅读全文

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

原生promise
摘要:你应该会用事件加回调的办法来处理这类情况: var img1 = document.querySelector('.img-1'); img1.addEventListener('load', function() { // 啊哈图片加载完成 }); img1.addEventListener('e 阅读全文

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

Object.observe() 观察对象
摘要:这个对象方法可以用来异步观察对javascript对象的改动: // Let's say we have a model with data var model = {}; // Which we then observe Object.observe(model, function(changes 阅读全文

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

xml
摘要:当创建的Dom文档放进了XML内容,那么就可以像对Dom进行交互一样使用所有的方法和属性 如果直接访问一个对象会调用它的valueof方法,如xmldom.parseError 对onreadystatechange事件的函数赋值一定要在调用load()之前,确保函数能够及时被触发调用,同时需要注意 阅读全文

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

判断是否为整数 整数判断
摘要:1、取余数判断,整数除以1都为0 function isInteger(obj) { return typeof obj === 'number' && obj%1 === 0 } 2、使用Math.round、Math.ceil、Math.floor判断 function isInteger(ob 阅读全文

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

获取图片原始尺寸
摘要:前提:图片设置了别的width值 1、新建一个Image()对象,然后把图片的src赋给该对象 function getNaturalWidth(img) { var image = new Image() image.src = img.src var naturalWidth = image.w 阅读全文

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

判断图片是否加载完成
摘要:1、load事件 img.onload = function() { alert('loaded'); } 2、readystatechange事件 img1.onreadystatechange = function() { if(img1.readyState=="complete" || im 阅读全文

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

事件 event
摘要:添加移除函数(removeEventListener)时三个参数保持一致,否则会失败,而且不会有错误提示 var btn = document.getElementById(“myBtn”); btn.addEventListener(“click”, function(){ alert(this. 阅读全文

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

range
摘要:range可以无视node节点范围来选择需要的部分 创建一个range的时候,类似创建了一个fragment ,但是在range里面即使像上面那样格式残缺的片段,能够自动识别缺少的结构,因此才能恢复并且进行一系列javascript Dom交互 上图中的range会把Dom结构修改成: <p><b> 阅读全文

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

节点遍历 element traversal
摘要:任何一个node节点都可以作为遍历的根(traversal root),然后遍历该节点本身以及后代元素,不能遍历祖先或者兄弟元素,方向可以反转 <div id=”div1”> <p><b>Hello</b> world!</p> <ul> <li>List item 1</li> <li>List 阅读全文

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

通用的contain函数
摘要:用来检测节点所属关系:document.documentElement.contains(document.body) function contains(refNode, otherNode) {if (typeof refNode.contains == “function” && (!clie 阅读全文

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

检测一个对象方法是否存在
摘要:function isHostMethod(object, property) { var t = typeof object[property]; return t == ’function’ || (!!(t==’object’ && object[property])) || t == ’un 阅读全文

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

非堵塞 延迟脚本 高性能
摘要:1、延迟解析 <script type="text/javascript" src="file1.js" defer></script> defer告诉解析器该脚本不会修改Dom,可以迟点再解析执行 也可以写在网页内脚本 <script defer> alert("defer"); </script 阅读全文

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

元素透明 渐变函数
摘要:var testObj = document.getElementById("你想要渐变的元素"); function setOpacity(value) { testObj.style.opacity = value/10; testObj.style.filter = 'alpha(opacit 阅读全文

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

导航