JSONP原理

JSONP的最基本的原理是:
动态添加一个是一致的(qq空间就是大量采用这种方式来实现跨域数据交换的)。JSONP是一种脚本注入(Script Injection)行为,所以有一定的安全隐患。

那jquery为什么不支持post方式跨域呢?

虽然采用post+动态生成iframe是可以达到post跨域的目的(有位js牛人就是这样把jquery1.2.5 打patch的),但这样做是一个比较极端的方式,不建议采用。

也可以说get方式的跨域是合法的,post方式从安全角度上,被认为是不合法的,万不得已还是不要剑走偏锋。

client端跨域访问的需求看来也引起w3c的注意了,看资料说html5 WebSocket标准支持跨域的数据交换,应该也是一个将来可选的跨域数据交换的解决方案。

localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车[转]

localStorage.setItem(“key”,”value”);//存储变量名为key,值为value的变量

localStorage.key = “value”//存储变量名为key,值为value的变量

localStorage.getItem(“key”);//获取存储的变量key的值www.it165.net

localStorage.key;//获取存储的变量key的值

localStorage.removeItem(“key”)//删除变量名为key的存储变量
继续阅读“localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车[转]”

JavaScript面向对象15分钟教程[转]

本指南可以很快让你学会写优美的面向对象JavaScript代码,我保证!学会写简洁的JavaScript代码对一个开发者的发展很重要,随着像Node.js这类技术的出现,你现在可以在服务器端写JavaScript代码了,你甚至可以用JavaScript来查询像MongoDB这样的持久性数据存储。

现在开始写面向对象的JS(OO JS),如果你有什么问题或我遗漏了什么,在下面评论出告诉我。 继续阅读“JavaScript面向对象15分钟教程[转]”

一句话使用javascript判断ie浏览器

以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的。

var ie = !+”v1″;

仅仅需要7bytes!参见这篇文章,《32 bytes, ehr … 9, ehr … 7!!! to know if your browser is IE》,讲述外国人是如何把IE的判定从32 bytes一步步缩简成7 bytes!的故事

但这纪录今年1月8日被一个俄国人打破了,现在只要6 bytes!它利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。详见这里 恭喜你,Aleko ,你真是我的偶像!

var ie = !-[1,]; 
alert(ie);

如果从非IE的角度判定,可以省一个比特,因为我们做兼容时,绝大多数情况都是IE与非IE地开工。

var notIE = -[1, ];   
if ( - [1, ]) {   
   alert("这不是IE浏览器!");   
} else {   
   alert("这是IE浏览器!");   
}

kindeditor-4.1.5编辑器整合Syntaxhighlighter代码高亮

kindeditor-4.1.5编辑器整合Syntaxhighlighter代码高亮
我使用的是kindeditor-4.1.5版本
链接地址:http://kindeditor.googlecode.com/files/kindeditor-4.1.5.zip
Syntaxhighlighter 代码高亮提示插件 网上就可以搜到
 
步骤:
 
1。找到kindeditor的code插件的code.js文件(在editor/plugins/code下)查找一下两行后删除或者注释掉
 
cls = type === "" ? "" :  " lang-" + type,
html = "<pre class="prettyprint" + cls + "">
" + K.escape(code) + "</pre> ";
 
修改为:
 
cls = type === "" ? "" : type,
html = "<pre class="brush:" + cls + "">
" + K.escape(code) + "</pre> ";
 
在到 kindeditorphpcode目录下找到 demo.php
打开插入一下代码,如果没有你需要的语言你可以到syntaxhighlighter/scripts/这个目录下查找你需要的语言加入即可
 
<script type="text/javascript" src="../syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="../syntaxhighlighter/scripts/shBrushPhp.js"></script>
<script type="text/javascript" src="../syntaxhighlighter/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="../syntaxhighlighter/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="../syntaxhighlighter/scripts/shBrushSql.js"></script>
<script type="text/javascript" src="../syntaxhighlighter/scripts/shBrushXml.js"></script>
<link type="text/css" rel="stylesheet" href="../syntaxhighlighter/styles/shCoreDefault.css"/>