代码改变世界

JavaScript跨域(3):HTTP access control (CORS)跨域

2013-04-09 11:08 by Barret李靖, 1528 阅读, 0 推荐, 收藏, 编辑
摘要:网上看了很多博客和文档,感觉还是Mozilla大大写的最简单、最好懂,不过文字很长。。 原文链接:https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS 要整篇翻译,我肯定吃不消,当然也没这个必要,下面就提要说一点吧,这个方法还存在兼容性问题,尽管有相应的解决手段,但是觉得用起来不是特别爽。Cross-site HTTP requests are HTTP requests for resources from a different domain than the domain of the resource... 阅读全文

javascript中有趣的反柯里化

2013-04-09 09:41 by Barret李靖, 2177 阅读, 1 推荐, 收藏, 编辑
摘要:相关阅读 1.JKisJK 2.月影 3.张鑫旭AlloyTeam作品反科里化的话题来自javascript之父Brendan Eich去年的一段twitter. 近几天研究了一下,觉得这个东东非常有意思,分享一下。先忘记它的名字,看下它能做什么.不要小看这个功能,试想下,我们在写一个库的时候,时常会写这样的代码,拿webQQ的Jx库举例。我们想要的,其实只是借用Array原型链上的一些函数。并没有必要去显式的构造一个新的函数来改变它们的参数并且重新运算。如果用uncurrying的方式显然更加优雅和美妙,就像这样:还能做很多有趣和方便的事情.甚至还能把call和apply方法都uncu... 阅读全文

JavaScript跨域(2):JSONP跨域

2013-04-03 22:02 by Barret李靖, 1437 阅读, 0 推荐, 收藏, 编辑
摘要:祭祖归来,继续细说跨域~ 话说上次我们讲到了啥玩意儿是跨域,至于怎么跨域还没开始动笔。今天就说说JSONP跨域。 JSONP(JSON with padding)是JSON的一种“使用模式”,它是非官方协议允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。 P.S: 1.楼主懂一点点php,所以DEMO中的后台语言就用PHP来演示。 2.为了方便测试,楼主弄了SAE和BAE。Prelude [前奏] 如果我们请求一个JSON数据:(SAE地址:http://qiandu... 阅读全文

JavaScript跨域(1):什么是跨域,如何跨域

2013-03-31 19:05 by Barret李靖, 9808 阅读, 1 推荐, 收藏, 编辑
摘要:无数次看到:Origin null is not allowed by Access-Control-Allow-Origin, 网络没有让你绝望,但是或许会让你蛋疼,因为你找了半天没看到一个比较实用的解决方案,亦或者水平不够,别人写的东西累赘没看懂,抑或是。。。 网上看到了一篇文章——跨域资源共享的10中方式,已经放在自己的家里了O(∩_∩)O~ 跨域也是平时项目中比较让人头疼的一个玩意儿,上文只是简要地提出了有哪些跨域方式,这里呢,将向大家详细说明,各种使用频率比较高的跨域方式。 什么是跨域:Across-domain solution(CDS) is a means ofinf... 阅读全文

Javascript本地储存(3):离线web应用

2013-03-30 13:03 by Barret李靖, 1777 阅读, 1 推荐, 收藏, 编辑
摘要:前两篇文章分别介绍了Cookie应用和另一种本地储存方式,无论是cookie、userData还是localStorage都是一段保存在客户端磁盘的一段文本,他们可以被主动删除,但是本文要讲的“应用程序缓存”是HTML5中新增的一个技术,他允许web应用将应用程序自身本地保存到用户的浏览器中,他是不会随着用户清楚浏览器缓存而被清除的。不像localStorage和sessionS只是保存web应用程序相关的数据,他是将应用程序本身保存起来——应用程序所需运行的所有文件(HTML、CSS、JavaScript、图片等)。——《Javascript权威指南(第六版)》Page-594 “应用... 阅读全文

iframe跨域通信的通用解决方案

2013-03-29 11:10 by Barret李靖, 1939 阅读, 0 推荐, 收藏, 编辑
摘要:一、背景在这个Web页面越来越丰富的时代,页面通过iframe嵌入其他的页面也越来越常见。但由于浏览器同源策略的限制,不同域之间属性和操作是无法直接交互的,所以在这个时候,开发者多多少少需要一些方案来突破这些限制。跨域问题涉及的地方也很多,如文档之间的消息通信、ajax请求、Cookie等,本文讨论的是iframe和父页面的消息通信。二、现状目前网上也可以找到各种解决方案(少说都有10+个,有兴趣的话可以去看看),对于现代浏览器来说,原生的postMessage API一定是不二的选择,所以各种方案的不同点均在于IE 6、7中的处理(不用兼容IE6、7的同志可以去看其他文章了)。当然这么多方案 阅读全文

JavaScript本地储存(2):userData和localStorage

2013-03-28 23:25 by Barret李靖, 2574 阅读, 0 推荐, 收藏, 编辑
摘要:上文对cookie的知识进行了归纳,同时也提到了cookie的大小是有限制的。cookie 是有大小限制的,每个 cookie 所存放的数据不能超过4kb,如果 cookie 字符串的长度超过4kb,则该属性将返回空字符串。——上文提要 如果我们需要在客户端储存比较大容量的数据,怎么办?下面给大家介绍userData和localStorage的基本知识和一些应用。先说明下为什么把两个东西扯到一起说,因为后面写了个对象,把UserData和localStorage包装到了一起O(∩_∩)O~Conception [基本概念] 毫无疑问,无论是UserData还是localStorage都... 阅读全文

JSON

2013-03-28 11:27 by Barret李靖, 552 阅读, 0 推荐, 收藏, 编辑
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。JSON建构于两种结构:“名称/值”对的集合(A collection 阅读全文

JavaScript本地储存(1):cookie在前端

2013-03-27 12:13 by Barret李靖, 4705 阅读, 1 推荐, 收藏, 编辑
摘要:以前心里总是默念着这句:“知道资源在哪儿就是成功的一半”。对于很多知识的学习,好像也一直停留在知道它在哪儿的地步,看来现在需要有所改变了! 那就从cookie开始吧~ Cookie(复数形态Cookies),中文名称为小型文本文件或小甜饼,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端(Client Side)上的数据(通常经过加密)。定义于RFC2109(已废弃),最新取代的规范是RFC2965。Clasification [分类] 说到底,cookie就是保存在客户端的一段字符串(注意:不是数组)。 cookie可以手动设置,也可以由服务器产生,当客户端... 阅读全文

javascript链式调用的实现方式

2012-09-18 08:58 by Barret李靖, 1949 阅读, 0 推荐, 收藏, 编辑
摘要:本文从ITeye导入在我们所用到的库中,可以看到很多诸如$(window).addEvent('load', function(){ $('test').show().setStyle('color', 'red').addEvent('click', function(e){ $(this).setStyle('color', 'yellow'); });});的链式调用,那么这样的链式结构是怎么实现的呢,下面我们利用代码来探讨一番:先分解下,我们队$函数已经很熟悉了,他通常返回一 阅读全文

javascript的灵活性

2012-09-17 09:32 by Barret李靖, 614 阅读, 0 推荐, 收藏, 编辑
摘要:本文从ITeye导入如果你偏爱过程式编程,你可以这样:/*Start and stop animations using functions.*/function startAnination() { ....}function stopAnination(){ ....}这种做法很简单,但是你无法创建可以保存状态并且具有一些仅对其内部状态进行操作的方法的动画对象。下面的代码定义了一个类,你可以用它创建这种对象:/*Anim class.*/ var Anim = function(){ .... }; Anim.prototype.start = function(){ ... 阅读全文
上一页 1 ··· 4 5 6 7 8