代码改变世界

随笔分类 -  JavaScript

体验phonegap3.0

2013-12-08 23:37 by dreamhappy, 3627 阅读, 收藏, 编辑
摘要: 网上有各种各样的phonegap环境搭建资料,鉴于学习和整理的考虑,我还是把我搭建的过程整理出来这篇文章中将涉及到的内容PhoneGap环境需要的组件Node环境JDKAndroidSDKADTANT命令行安装phonegap命令行安装创建项目windows下android环境搭建疑难问题参考资料Phonegap环境需要的组件node环境http://phonegap.com/install/直接安装即可JDK环境主要涉及到环境变量的设置:ClassPath中添加;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;AndroidSDK参考http 阅读全文

网站安全系列:跨站脚本攻击XSS

2013-10-02 13:49 by dreamhappy, 1176 阅读, 收藏, 编辑
摘要: 本篇博文主要从概念和应用上介绍XSS,主要内容来源于《白帽子讲web安全》XSS核心本质XSS实际上是一种HTML注入,用户输入的数据被当成HTML的一部分来执行。防御方法核心是输入检查和输出编码。对于Web应用长见的MVC模式,XSS主要攻击View层。XSS攻击是在用户的浏览器上执行,形成过程则是服务端页面渲染时,注入了恶意的HTML代码导致。在ASP.NET MVC中razor默认会对所有输出进行html编码。这是ASP.NET MVC针对XSS攻击的一道防火墙防御方法一 HttpOnly设置Cookie, 解决Cookie劫持问题,浏览器将禁止页面javascript访问带有HttpO 阅读全文

百度编辑器图片上传功能解疑

2013-07-24 23:15 by dreamhappy, 12950 阅读, 收藏, 编辑
摘要: 最头疼的上传图片问题版本选择和自定义配置项目中使用了百度编辑器ueditor,这里是官网链接,效果还算不错,使用中的一些经验,分享在这里。我使用的环境是.NET MVC3最头疼的上传图片问题ueditor自带了图片上传功能,原理也是使用flash上传。但是我按照官方的配置修改相应的参数后,发现上传出现问题,具体体现在:本地上传图片,触发上传按钮后,上传失败,代码中提示Flash插件初始化失败,请更新您的FlashPlayer版本之后重试!,主流浏览器都是这个错误起初我把问题集中在可以看到的错误”提示flash插件初始化错误“,但是这是一个迷惑性的提示,错误的根本原因不在这里。先看看项目的配置上 阅读全文

容易忽视的前端陷阱

2013-07-07 14:56 by dreamhappy, 390 阅读, 收藏, 编辑
摘要: 1 CSRFCSRF(Cross Site Request Forgery)是伪造客户端请求的一种攻击,字面上的意思是跨站点伪造请求CSRF的定义是强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。CSRF漏洞的攻击一般分为站内和站外两种类型现在的Web应用程序几乎都是使用Cookie来识别用户身份以及保存会话状态,但是所有的浏览器在最初加入Cookie功能时并没有考虑安全因素,从WEB页面产生的文件请求都会带上COOKIE,如下图所示,Web页面中的一个正常的图片所产生的请求也会带上COOKIE预防CSRF:在请求中使用 Security token正 阅读全文

[转] Javascript异步编程的4种方法

2012-12-30 18:06 by dreamhappy, 599 阅读, 收藏, 编辑
摘要: 你可能知道,Javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Syn 阅读全文

Knockout之属性绑定

2012-12-22 23:23 by dreamhappy, 6787 阅读, 收藏, 编辑
摘要: 之后我会零散的翻译一些学习Knockout的文档,希望可以帮助需要帮助的人快速学习Knockout,深入理解MVVM,如果理解有错误,欢迎指点。今天简单记录下属性绑定属性绑定PurposeThe attr binding provides a generic way to set the value of any attribute for the associated DOM element. This is useful, for example, when you need to set the title attribute of an element, the src of an i 阅读全文

json格式转换

2012-12-18 09:45 by dreamhappy, 651 阅读, 收藏, 编辑
摘要: 比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:var a={"name":"tom","sex":"男","age":"24"}var b='{"name":"Mike","sex":"女","age":"29"}';在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的 阅读全文

使用YSlow分析前端页面性能

2012-11-15 09:03 by dreamhappy, 2613 阅读, 收藏, 编辑
摘要: YSlow是什么YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. YSlow is a Firefox add-on integrated with the Firebug web development tool. YSlow grades web page based on one of three predefined ruleset or a user-defined ruleset 阅读全文

meta 之 viewport

2012-09-02 10:06 by dreamhappy, 211 阅读, 收藏, 编辑
摘要: 移动网页开发涉及到 viewport,随意一篇,分享一下。常用的 viewport meta 如下:1<metaname="viewport"content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>1、width :控制viewport的大小,可以指定一个值,如600, 或者特殊的值,如device-width为设备的宽度(单位为缩放为100%的CSS的像素)2、height :和width相对应,指定高度3、 阅读全文

Javascript编程风格

2012-05-28 14:18 by dreamhappy, 188 阅读, 收藏, 编辑
摘要: Javascript编程风格读后感程序员固然可以自由选择编程风格,但是好的编程风格有助于写出质量更高、错误更少、更易于维护的程序印象深刻的是规则1:表示区块起首的大括号,不要另起一行。规则7:不要使用"相等"(==)运算符,只使用"严格相等"(===)运算符。规则9:所有变量声明都放在函数的头部。规则11:避免使用全局变量;如果不得不使用,用大写字母表示变量名,比如UPPER_CASE。 阅读全文

一种使用 Javascript 生成html的方法

2012-03-28 22:55 by dreamhappy, 1478 阅读, 收藏, 编辑
摘要: 动态变化前台局部html代码是开发中常见的需求,拼接html代码可以选择前台拼接,也可以选择服务端输出,各有裨益,现在整理如下:1 Javascript直接请求一个ascx用户控件,并获取它的输出HTML http://www.cnblogs.com/fish-li/archive/2011/03/13/1982679.html,主要思想就是在服务端生成所需要的html代码,之后在前台修改dom树,来更改显示内容。 阅读全文

javaScript进阶-事件委派

2011-12-20 16:16 by dreamhappy, 2268 阅读, 收藏, 编辑
摘要: 这篇文章的原稿来自于http://www.aqee.net/seven-javascript-things-i-wish-i-knew-much-earlier-in-my-career/对其中的事件委派做一些自己的理解:当页面上某个元素上的事件触发时,而在 DOM 继承关系上,这个元素的所有子元素也能接收到这个事件,这时你可以使用一个在父元素上的事件处理器来处理,而不是使用一堆的各个子元素上的事件监听器来处理。hrml代码如下 1 <h2> 2 Great Web resources</h2> 3 <ul id="resources"> 阅读全文

javaScript进阶-昂贵的集合

2011-12-17 21:23 by dreamhappy, 317 阅读, 收藏, 编辑
摘要: 1 var alldivs = document.getElementsByTagName('div');2 for (var i = 0; i < alldivs.length; i++) {3 document.body.appendChild(document.createElement('div'));4 5 }/*函数是一个死循环,每次迭代都执行查询操作*//*集合拷贝到数组,循环数据比循环集合效率高*/function toArray(coll) { for (var i = 0, a = [], len = coll.length; i &l 阅读全文

javaScript进阶-javaScript数据转换

2011-12-17 20:13 by dreamhappy, 1405 阅读, 收藏, 编辑
摘要: (一) Number-->Stringvar str=String(num)var str=num.ToString();有一次在开发中使用 str.length,str是有值的,但是str.length总是undfined,最后找到原因就是因为str是数字类型,而数字类型变量是没有length属性的,最终将其转换为数值类型使用,即String(str).length(二) String-->Number1var num=Number(str);$(document).ready(function() { $("#save").click(function() 阅读全文

数组操作时避免空值出现

2011-10-17 20:44 by dreamhappy, 1870 阅读, 收藏, 编辑
摘要: C# Js 数组操作 阅读全文

json---服务器端与客户端的故事

2011-03-13 18:33 by dreamhappy, 1937 阅读, 收藏, 编辑
摘要: 认识json 资料来自 http://www.learn-ajax-tutorial.com/Json.cfmvar Beatles = ["Paul","John","George","Ringo"];This is the equivalent of:等同于var Beatles = new Array("Paul","John","George","Ringo");JavaScript Object Notation (JSON) 阅读全文