- JavaScript 是一款强大的广泛运用于现代Web站点及应用的脚本语言。作为一个技艺精湛的 Web 开发者,掌握JavaScript可以增强用户的使用体验,提供交互及富客户端等功能。
尽管JavaScript 的语法非常简单,但对于写程序而言仍然是困难重重,就是因为它的运行环境:基于Web浏览器。
以下您可以看到收集的8个实用的 JavaScript 测试及效验工具,它们都可以在不同环境下进行单元测试及校验测试您的脚本。
JSLint
JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。 Read More - 经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符,
WordPress程序是用的UTF-8,很多cms用的是GB2312。
● 为什么有这么多编码?
● UTF-8和GB2312有什么区别?
● 我们在国内做网站是用UTF-8编码格式还是GB2312编码格式好?一. 各种编码的来历
可能很多同学一直对字符的各种编码方式懵懵懂懂,根本搞不清为什么他们有这么多编码。 Read More - 你们中有许多人可能已经听到过有关CSS3的不少传言,但是我们现在能真正用到的CSS3技巧又有哪些呢?本文,我将向你展示一些与众不同的 CSS3技巧, 这些技巧在一些主要的浏览器中表现良好(如Firefox,Chrome,Safari,Opera浏览器)。这些效果会在不支持的浏览器中降级渲染(如IE浏览器)。使用浏览器特定的声明,许多提议的CSS3样式都可以马上拿来使用。

如果你不知道浏览器的特定声明是什么,你只需要记住它们都是CSS样式属性前与内核提供商有关的特定前缀。因为CSS3目前还没得到全面的支持,所以我们需要使用这些特定声明。具体的形式如下:- Mozilla/Firefox/Gecko浏览器的前缀: -moz-
- Webkit (Safari/Chrome)浏览器的前缀: -webkit- (注意:一些Wbkit的前缀只能在Safari下使用,Chrome不支持。)
你可能已经看到了,使用这些声明的有一个缺点,那就是如果我们想在Firefox,Safari和Chrome中都得到CSS3的效果,我们需要使用到上面所有这些前缀。也不用惊讶,IE浏览器不支持CSS3,因此也就不像其他主要浏览器有一个特定的前缀声明。
Read More - 支持 CSS3 和 HTML5 的浏览器越来越多,甚至包括最新版的 IE,当然,所谓支持仅仅是部分支持,因为 CSS3 和 HTML5 的W3C 规范都尚未形成。如果你现在就希望使用 CSS3 和 HTML5 创建你的站点,至少要对各个浏览器对这两种新技术的支持情况有一个全面了解。
需要指出的是,即使同一个浏览器的同一个版本,在 Mac 和 Windows 两个平台,它们对 CSS3 和 HTML5 的支持也并不一致。本文是一份 Chrome, Safari, Firefox, Opera, IE 5 大浏览器,在 Mac 和 Windows 两个平台,对 CSS3 和 HTML5 各种功能的详细支持情况清单。 Read More 原文:101 on jQuery Selector Performance by Andreas Grabner, Nov 09, 09
上周我认真分析了一个 Web 页面,它在 onLoad 事件中处理一段定制脚本文件用了 4.8 秒。结果是其中 2.8 秒消耗在动态菜单库上(将会在博客中单独记录),剩下的 2 秒花费在 jQuery 的选择器上。分析显示多数选择器不返回任何对象,而那些会返回对象的选择器可考虑用不同的选择器来改善性能。
关于 jQuery 选择器
有大量的日志文章论述了 jQuery 选择器及它们的性能影响。正如你所知,可以通过 ID, TagName 或 ClassName 选择元素。依赖于不同的选择器, jQuery 会使用浏览器本地方法,如 通过 ID 或标签来选择元素,或者在使用类名选择时须手工从 DOM 中遍历获得元素(因为在 IE 中不存在相应的 getElementsByClssName).
分析我的页面时间中这 2 秒
在 onLoad 处理器中对页面中某些特定的元素使用 jQuery 设置为隐藏,显示或改变样式表...。这里是一个代码片断: Read More
- 作者:Klaus Komenda , 翻译:butwho
英文原文:Collection of Web Developer Tools, per Browser
原文发现:译言-Collection of Web Developer Tools for major browsers
中文译文:Web开发工具大集合——每个浏览器都有份的!
网站开发者的一大苦恼,就是有太多的浏览器要应付。幸亏世界上有一些聪明的人,能够研究出一大些方便编辑和调试网页代码的好工具。不过,要从不计其数的小工具里面找出合适的可真不容易。这篇文章列出了几个最好用的web开发工具,并指导你快速地激活、安装、使用他们。 下面是工具列表: Read More - 基本用法(不涉及其他相关类):
Ext.data.Record 实例就是对应一条记录,记录通常会放在数据集 Store 中,其中包含了数据的定义信息(字段名等) 和数据的值信息。这里不涉及与它相关的 Proxy、DataReader 和 Store,只单纯的用 Record 的方法。通常是两步,先调用 Record 的 create() 方法,返回一个类,然而 new 前面方法返回的类,代码过程如下:代码说明: Read More1//第一步,create() 返回一个 Record 的子类(定义了数据表现,有点像泛型) 2var Person = Ext.data.Record.create([ //用对象数组指定每个字段名 3 {name:'name'},{name:'email'} //name 属性指定每个字段名 4]); 5 6//通过前面 create() 返回的 Person 类创建 record 实例 7var record = new Person({//传入一个对象作为第一个参数,注意属性名对应 8 name:'Unmi', 9 email:'fantasia@sina.com' 10},2009); //第二个参数指定记录的标识 ID,未指定 ID 则为你用整数进行编号 11 12//验证效果,只取 id 和其中的 email 属性,可试下前面无 {id:'name'}的情况 13alert('id:' + record.id +", email:" + record.get('email')); - 在 ExtJs 中支持多线程的类有 Ext.util.TaskRunner 和 Ext.util.DelayedTask。TaskRunner 提供了多线程的定时服务,DelayedTask 允许你延时多久在新建线程中执行一个任务。Ext.TaskMgr 是一个 TaskRunner 实例,在 TaskMgr.js 源码中可以看到最后一行是:
Ext.TaskMgr = new Ext.util.TaskRunner();
实质上不管是 TaskRunner 还是 DelayedTask,它们都是通过 setInterval() 来执行任务的,TaskRunner 能多次重复的执行一个方法,而 DelayedTask 是延时执行完一次任务后就会调用 clearInterval() 来保证只执行一次。所以这里所说如何向任务的 run() 方法传递参数,本质上就是向 setInterval() 中方法传递参数。 Read More - 我们在使用 ExtJs 创建组件时最容易理解的当然是用
new Ext.form.TextField({fieldLabel:'姓名', id:'name',width:120});
我们还可以直接用 xtype(比如 TextField 对应的 xtype 是 textfield) 的对象形式来创建组件,比如在面板的 items 属性中,尤其是多个组件或需要写许多的 ExtJs 相关代码时就更值得推荐。我们来对照如下形式就知道了:Read More1items[ 2 new Ext.form.TextField({fieldLabel:'姓名', id:'name', width:120}), 3 new Ext.form.TextField({fieldLabel:'密码', id:'passwd', inputType:'password', width:120}), 4 new Ext.form.DateField({fieldLabel:'生日', id:'birth', format:'Y年m月d日', width:120}) 5] 6//替换成用 xtype 写法就如下(似乎只是免去了很多的 new ...) 7items[ 8 {xtype:'textfield', fieldLabel:'姓名', id:'name', width:120}, 9 {xtype:'textfield', fieldLabel:'密码', id:'passwd', inputType:'password', width:120}, 10 {xtype:'datefield', fieldLabel:'生日', id:'birth', format:'Y年m月d日', width:120} 11] - 自然,我们都习惯了 IE,在 IE 中要在函数中获得各事件对象很容易,直接用 event、event.srcElemtn、event.fromElement、event.toElement 就行了。在 FireFox 中获得触发事件的元素可以用 event.target,但其他两个 fromElement 和 toElement 就要费些周折。
所以,为了保持一致的使用方式,也为了保持原有的使用习惯,我们加入以下 JS 代码(代码有些紧凑,未加注释,应该很好理解): Read More