博客园 - viltranuuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=507692013-09-12T13:17:38Zviltranhttps://www.cnblogs.com/viltran/feed.cnblogs.comhttps://www.cnblogs.com/viltran/p/3317825.htmljavascript模块化、模块加载器初探 - viltran最常见网站的javascript架构可能是这样的:一个底层框架文件,如jQuery一个网站业务框架文件,包含整站公用业务模块类(如弹框、ajax封装等)多个业务文件,包含每个具体页面有关系的业务代码 为了减少一个HTTP请求,我们可能将底层框架文件和网站业务框架文件combo成一个文件,作为一个公用文件引入到每个需要使用javascript的页面中,再在具体的页面中引入和当前页相关业务js文件。为了减少页面加载脚本阻塞现象,我们还可以将脚本文件放在html的body底部进行加载。 这看似是一个很好的javascript架构方案。每个页面最多引用两个js文件,打开首页后,后续页面都可以使用缓..2013-09-12T13:18:00Z2013-09-12T13:18:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】最常见网站的javascript架构可能是这样的:一个底层框架文件,如jQuery一个网站业务框架文件,包含整站公用业务模块类(如弹框、ajax封装等)多个业务文件,包含每个具体页面有关系的业务代码 为了减少一个HTTP请求,我们可能将底层框架文件和网站业务框架文件combo成一个文件,作为一个公用文件引入到每个需要使用javascript的页面中,再在具体的页面中引入和当前页相关业务js文件。为了减少页面加载脚本阻塞现象,我们还可以将脚本文件放在html的body底部进行加载。 这看似是一个很好的javascript架构方案。每个页面最多引用两个js文件,打开首页后,后续页面都可以使用缓.. <a href="https://www.cnblogs.com/viltran/p/3317825.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3317809.html各浏览器加载资源的方式区别 - viltran转载自:http://www.nowamagic.net/librarys/veda/detail/1077这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发。于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图:浏览器对同一个域只能并发2个HTTP请求 - 网上盛传已久。javascript文件的加载会阻塞浏览器其他资源的加载 - 同样网上盛传已久。然而,当我看到各浏览器中实际的瀑布图时,我知道自己又犯了一个简单的错误:太过相信所谓2013-09-12T13:15:00Z2013-09-12T13:15:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】转载自:http://www.nowamagic.net/librarys/veda/detail/1077这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发。于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图:浏览器对同一个域只能并发2个HTTP请求 - 网上盛传已久。javascript文件的加载会阻塞浏览器其他资源的加载 - 同样网上盛传已久。然而,当我看到各浏览器中实际的瀑布图时,我知道自己又犯了一个简单的错误:太过相信所谓 <a href="https://www.cnblogs.com/viltran/p/3317809.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3317739.html判定一个节点在DOM树中 - viltranjavascript contains方法IE有许多好用的方法,后来都被其他浏览器抄袭了,比如这个contains方法。如果A元素包含B元素,则返回true,否则false。唯一不支持这个方法的是IE的死对头firefox。 1 2 dom contains 方法 by 司徒正美 3 4 5 6 7 15 contains方法16 17 18 19 本例子会在火狐中会报错。20 21 不过火狐支持compareDocumentPosition() 方法,这是W3C制定的方法,标准浏览器都支持,不过实用性性很差,因此没有什么人用,推广不开来。它的使用形式与contain...2013-09-12T12:41:00Z2013-09-12T12:41:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】javascript contains方法IE有许多好用的方法,后来都被其他浏览器抄袭了,比如这个contains方法。如果A元素包含B元素,则返回true,否则false。唯一不支持这个方法的是IE的死对头firefox。 1 2 dom contains 方法 by 司徒正美 3 4 5 6 7 15 contains方法16 17 18 19 本例子会在火狐中会报错。20 21 不过火狐支持compareDocumentPosition() 方法,这是W3C制定的方法,标准浏览器都支持,不过实用性性很差,因此没有什么人用,推广不开来。它的使用形式与contain... <a href="https://www.cnblogs.com/viltran/p/3317739.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3315429.htmlJavaScript跨域总结与解决办法 - viltran什么是跨域1、document.domain+iframe的设置2、动态创建script3、利用iframe和location.hash4、window.name实现的跨域数据传输5、使用HTML5 postMessage6、利用flash7、jsonp转载自:http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html什么是跨域JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:首先什么是跨域,简单2013-09-11T12:06:00Z2013-09-11T12:06:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】什么是跨域1、document.domain+iframe的设置2、动态创建script3、利用iframe和location.hash4、window.name实现的跨域数据传输5、使用HTML5 postMessage6、利用flash7、jsonp转载自:http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html什么是跨域JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:首先什么是跨域,简单 <a href="https://www.cnblogs.com/viltran/p/3315429.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3249014.htmlleetcode-symmetric Tree - viltranGiven a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \3 4 4 3But the following is not: 1 / \ 2 2 \ \ 3 3Note:Bonus points if you could solve it both recursively and iterati...2013-08-09T12:55:00Z2013-08-09T12:55:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \3 4 4 3But the following is not: 1 / \ 2 2 \ \ 3 3Note:Bonus points if you could solve it both recursively and iterati... <a href="https://www.cnblogs.com/viltran/p/3249014.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3248981.htmlleetcode-same tree - viltranGiven two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value./** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * ...2013-08-09T12:19:00Z2013-08-09T12:19:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are structurally identical and the nodes have the same value./** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * ... <a href="https://www.cnblogs.com/viltran/p/3248981.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3199573.htmleven faster web sites - viltranRules:1.Make fewer HTTP requests2.Use a content delivery network3.add an expires header4.Gzip components5.Put stylesheets at the top6.Put scripts at the bottom7.Avoid CSS experssions8.Make JavaScript and CSS external9.Reduce DNS lookups10.Minify JavaScript11.Avoid redirects12.Remove duplicate script2013-07-18T14:45:00Z2013-07-18T14:45:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】Rules:1.Make fewer HTTP requests2.Use a content delivery network3.add an expires header4.Gzip components5.Put stylesheets at the top6.Put scripts at the bottom7.Avoid CSS experssions8.Make JavaScript and CSS external9.Reduce DNS lookups10.Minify JavaScript11.Avoid redirects12.Remove duplicate script <a href="https://www.cnblogs.com/viltran/p/3199573.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3184996.htmlno jniopencv_core in java.library.path - viltraneclipse控制台消息:no jniopencv_core in java.library.path今天在这个问题上折腾了好久好久,查找了好多文档,主要是看http://answers.opencv.org/question/8288/opencv-244-in-javalibrarypath-error/这个网站主要解决的不是这个问题,但是还是有些许作用。主要参考:http://www.opendebug.com/article/540720Seeking solutions!------ Best solution ------------------------------------2013-07-11T12:57:00Z2013-07-11T12:57:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】eclipse控制台消息:no jniopencv_core in java.library.path今天在这个问题上折腾了好久好久,查找了好多文档,主要是看http://answers.opencv.org/question/8288/opencv-244-in-javalibrarypath-error/这个网站主要解决的不是这个问题,但是还是有些许作用。主要参考:http://www.opendebug.com/article/540720Seeking solutions!------ Best solution ------------------------------------ <a href="https://www.cnblogs.com/viltran/p/3184996.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/p/3182036.htmlexception in thread 'main' java.lang.NoClassDefFoundError: - viltranException in thread "main" java.lang.NoClassDefFoundError转载自http://stackoverflow.com/questions/6334148/exception-in-thread-main-java-lang-noclassdeffounderror?answertab=votes#tab-topOne of the places java tries to find your.classfile is your current directory. So if your.classfile is inC:\2013-07-10T05:49:00Z2013-07-10T05:49:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】Exception in thread "main" java.lang.NoClassDefFoundError转载自http://stackoverflow.com/questions/6334148/exception-in-thread-main-java-lang-noclassdeffounderror?answertab=votes#tab-topOne of the places java tries to find your.classfile is your current directory. So if your.classfile is inC:\ <a href="https://www.cnblogs.com/viltran/p/3182036.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/05/27/3102815.htmlWeb上的用户登入 - viltran转载自 :http://coolshell.cn/articles/5353.htmlWeb上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能。下面 的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录 功能。以下内容,转载时请保持原文一致,并请注明作者和出处。用户名和口令首先,我们先来说说用户名和口令的事。这并不是本站第一次谈论这个事了。如何管理自己的口令让你知道怎么管理自己的口令,破解你的口令让你知道在现代这样速度的计算速度2013-05-27T15:30:00Z2013-05-27T15:30:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】转载自 :http://coolshell.cn/articles/5353.htmlWeb上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能。下面 的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录 功能。以下内容,转载时请保持原文一致,并请注明作者和出处。用户名和口令首先,我们先来说说用户名和口令的事。这并不是本站第一次谈论这个事了。如何管理自己的口令让你知道怎么管理自己的口令,破解你的口令让你知道在现代这样速度的计算速度 <a href="https://www.cnblogs.com/viltran/archive/2013/05/27/3102815.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/05/12/3074575.htmlphp 关闭notice级别的提示 - viltran1、在php.ini文件中改动error_reporting改为:error_reporting=E_ALL & ~E_NOTICE2、如果你不能操作php.ini文件,你可以使用如下方法在你想禁止notice错误提示的页面中加入如下代码:/* Report all errors except E_NOTICE */error_reporting(E_ALL^E_NOTICE);2013-05-12T13:44:00Z2013-05-12T13:44:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】1、在php.ini文件中改动error_reporting改为:error_reporting=E_ALL & ~E_NOTICE2、如果你不能操作php.ini文件,你可以使用如下方法在你想禁止notice错误提示的页面中加入如下代码:/* Report all errors except E_NOTICE */error_reporting(E_ALL^E_NOTICE); <a href="https://www.cnblogs.com/viltran/archive/2013/05/12/3074575.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/05/12/3074324.htmlphp乱码问题 - viltran用echo输出的中文显示成乱码,其实应该是各种服务器脚本都会遇到这个问题,根本还是编码问题,一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />这时候要正常显示中文需要转化一下编码方式,比如echo iconv("GB2312","UTF-8",'中文');就不会乱码了还有其他方法,比如在php的echo前面加入header("C2013-05-12T09:21:00Z2013-05-12T09:21:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】用echo输出的中文显示成乱码,其实应该是各种服务器脚本都会遇到这个问题,根本还是编码问题,一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />这时候要正常显示中文需要转化一下编码方式,比如echo iconv("GB2312","UTF-8",'中文');就不会乱码了还有其他方法,比如在php的echo前面加入header("C <a href="https://www.cnblogs.com/viltran/archive/2013/05/12/3074324.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/05/10/3072162.htmljavascript - var散布问题 - viltranvar散布的问题(Hoisting: A Problem with Scattered vars)JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析)。当你使用了一个变量,然后不久在函数中又重新声明的话,就可能产生逻辑错误。对于JavaScript,只 要你的变量是在同一个作用域中(同一函数),它都被当做是声明的,即使是它在var声明前使用的时候。看下面这个例子:// 反例myname = "global"; // 全局变量function func() { a2013-05-10T13:59:00Z2013-05-10T13:59:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】var散布的问题(Hoisting: A Problem with Scattered vars)JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析)。当你使用了一个变量,然后不久在函数中又重新声明的话,就可能产生逻辑错误。对于JavaScript,只 要你的变量是在同一个作用域中(同一函数),它都被当做是声明的,即使是它在var声明前使用的时候。看下面这个例子:// 反例myname = "global"; // 全局变量function func() { a <a href="https://www.cnblogs.com/viltran/archive/2013/05/10/3072162.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/04/27/3047954.htmljavascript 面向对象程序设计 - 模式 随笔 - viltran今天看了《javascript高级程序设计》的面向对象篇,有点感想,记录下。 关于模式,是我之前都没有接触过的,亏我还是计算机系的学生,结果在上次实习面试的时候。。。怎一个惨淡了得。工厂模式:用函数来封装以待定接口创建对象的细节, function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { alert(this.name); }; return o; } var person ...2013-04-27T12:25:00Z2013-04-27T12:25:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】今天看了《javascript高级程序设计》的面向对象篇,有点感想,记录下。 关于模式,是我之前都没有接触过的,亏我还是计算机系的学生,结果在上次实习面试的时候。。。怎一个惨淡了得。工厂模式:用函数来封装以待定接口创建对象的细节, function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function() { alert(this.name); }; return o; } var person ... <a href="https://www.cnblogs.com/viltran/archive/2013/04/27/3047954.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/04/25/3043499.htmljavascript 正则表达式邮箱验证 - viltran示例代码如下:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <html> <head> <mce:script language="Javascript1.2"><!-- function verifyAddress(obj) { var email = obj.email.value; var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.2013-04-25T12:52:00Z2013-04-25T12:52:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】示例代码如下:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <html> <head> <mce:script language="Javascript1.2"><!-- function verifyAddress(obj) { var email = obj.email.value; var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(. <a href="https://www.cnblogs.com/viltran/archive/2013/04/25/3043499.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/04/22/3036784.htmlCSS实现简易幻灯片功能 - viltran要点:善于利用锚点a标签;原理:完整代码:<div class="wrapper"> <div class="content"> <div class="box" id="a1"> <h2>content</h2> <p>first</p> </div> <div class="box" id="a2"> <h2>content2</h2> &l2013-04-22T14:46:00Z2013-04-22T14:46:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】要点:善于利用锚点a标签;原理:完整代码:<div class="wrapper"> <div class="content"> <div class="box" id="a1"> <h2>content</h2> <p>first</p> </div> <div class="box" id="a2"> <h2>content2</h2> &l <a href="https://www.cnblogs.com/viltran/archive/2013/04/22/3036784.html" target="_blank">阅读全文</a>https://www.cnblogs.com/viltran/archive/2013/04/21/3034522.htmlCSS实现简易相册方法 - viltran功能分析: 相册在默认情况下以缩略图的形式显示,并且不压缩相片的原有宽度和高度属性,而是取相册的某个部分作为缩略图形式。 当鼠标悬停于某张缩略图上时,相册列表中的缩略图恢复为原始相片的宽度和高度,展现在相册的某个固定的区域,同时缩略图为空。 关键css代码:li a{ display:block; width:70px; height:70px; overflow:hidden; /*important*/ float:left; margin:0.5px; border:2px solid #efdeb0;}li a:hover img...2013-04-21T13:26:00Z2013-04-21T13:26:00Zviltranhttps://www.cnblogs.com/viltran/【摘要】功能分析: 相册在默认情况下以缩略图的形式显示,并且不压缩相片的原有宽度和高度属性,而是取相册的某个部分作为缩略图形式。 当鼠标悬停于某张缩略图上时,相册列表中的缩略图恢复为原始相片的宽度和高度,展现在相册的某个固定的区域,同时缩略图为空。 关键css代码:li a{ display:block; width:70px; height:70px; overflow:hidden; /*important*/ float:left; margin:0.5px; border:2px solid #efdeb0;}li a:hover img... <a href="https://www.cnblogs.com/viltran/archive/2013/04/21/3034522.html" target="_blank">阅读全文</a>