‘Javascript’ 分类的存档
我们知道在IE、火狐浏览器中点击某个按钮复制一段文本,有时会有弹出提示或不起作用的时候,今天,我们就来解决这个问题。 原理:借助Flash的力量,将内容复制到剪贴板。 由于本人不会Flash就在网上找到了一个类库,帮我们完成这个操作。Zero Clipboard 先看一下最后实现的效果。 代码: 具体说明,直接看注释吧。代码下载
我们知道Json是一种特殊Javascript对象,介绍几个Json查看工具。 http://jsonviewer.codeplex.com/ .Net开发的Json查看器,可反编译查看源码,呵呵。 https://addons.mozilla.org/en-us/firefox/addon/jsonview/ 火狐的Json查看器插件,可在火狐中打开Json内容查看 https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc 谷歌浏览器的Json查看器插件,功能同上 http://jsonviewer.stack.hu/ 在线的Json查看器,非常方便。
prototype在javascript中还是经常会用到的,如何理解这个属性呢?首先,他是一个属性,所有javascript对象都有这个属性,这个属性我们使用[类型].prototype来使用,返回值即该类型的原型。简单的说就是为对象的类返回原型的引用。 下面的例子中我们慢慢理解它。 输出:123 prototype实际上就是给我们提供了一个可以随时的动态的为对象添加方法或属性的一个桥梁。
据国外媒体报道,Mozilla已经到达了全新的发展阶段,全新JaegerMonkey JavaScript引擎的速度要明显快于目前使用的TraceMonkey引擎。Mozilla预计将在9月1日发布JaegerMonkey引擎,因此JaegerMonkey将被整合到Firefox 4.0。 V8基准测试显示,JaegerMonkey引擎积分为6829 ms,TraceMonkey引擎积分为6841 ms。Sunspider测试显示,JaegerMonkey引擎仍然要落后于TraceMonkey引擎——754 ms vs. 718 ms,而且JaegerMonkey引擎运行速度仍然落后于Webkit浏览器,Chrome和Safari的积分都要低于400 ms,Chrome浏览器的积分甚至逼近300 ms。Opera的积分也低于300s。 JaegerMonkey引擎在今年初发布是,其目标是突破Sunspider测试的500 ms大关。当然,这已经无法满足一般用户的需求了,毕竟连IE9开发版积分都已经低于500 ms。Mozilla还表示,JaegerMonkey引擎的目标是要超越竞争浏览器,这就意味着Mozilla的目标是300ms以下。 Mozilla称,JaegerMonkey是重新编写的,过去8周的时间JaegerMonkey已经有很大的改进。在下面6周的时间,Mozilla将完善JaegerMonkey引擎,为9月1日顺利发布做好充分地准备。 Mozilla宣传,JaegerMonkey引擎的运行速度是竞争浏览器10多倍。
HTML5最近炒的火热,我们今天先说说HTML的发展史,HTML是一种Web浏览器统一语言,是一种标记型语言,从1991年,一个名字叫Tim Berners-Lee编写的一份叫做“HTML标签”的文档发展而来,当时包含了大约20个用来标记网页内容的标签,他直接借用了SGML标记语言,也就是后来的HTML语言。HTML的第一个官方版本是由IETF(互联网工程任务组)推出的版本是2.0,先前由Tim Berners-Lee设计的为HTML 1.0,所以,HTML 1.0并没有官方发布。 后来,由W3C,取代了IETF的工作,成为了HTML的标准组织,此后,HTML被多次修改,直到1999年的HTML 4.01,至此,HTML到达了他的第一个拐点,之后W3C推出了也就是我们现在常用的XHTML 1.0,其实就是XML风格的HTML,是严格按照编码规范HTML的实践,之后,W3C相继推出XHTML1.1,XHTML2,不过,由于XHTML2并不向前兼容,甚至不兼容之前的HTML,这直接加速了XHTML的灭亡,直到2009年,W3C宣布终止XHTML2的工作,XHTML2将不复存在。 在此之前,W3C的闭门造车的作风引起了不满,Opera,Apple,Mozilla的代表开始发表反对声音,2004年Opera的Ian Hickson提议在HTML基础上进行扩展以适应新的Web应用,该提议遭到了W3C的拒绝,于是他们自发组织了超文本应用技术工作组,也就是WHATWG。 从一开始,WHATWG就和W3C走不同的路线,W3C对问题是集体投票,WHATWG则由Ian Hickson定夺,表面上看W3C更民主,而事实上,各种内部纷争会使一些决议陷入泥潭,而WHATWG就会进展的更顺利,不过,Ian Hickson的权力并非无限大,他们的委员可以进行反驳。 开始,WHATWG的工作内容主要是两部分,Web Forms 2.0和Web Apps 1.0,他们都是HTML的扩展,后来,他们合并一起成为现在的HTML5规范。在WHATWG致力于HTML5的同时,W3C也继续他们的XHTML2.0,W3C也慢慢的陷入困境。2006年10月,Web之父Tim Berner-Lee发表了一篇博文,表示HTML走向XML的路是行不通的。几个月后,W3C组建了新的HTML工作组,他们明智的选择了WHATWG的成果,WHATWG的成果作为基础。W3C同时进行这两套规范,XHTML2和HTML 5(W3C的HTML 5中间有个空格,WHATWG的则没有),而WHATWG也在进行着同样的工作。 HTML5的现状是有两个不同的组织再给他制定规范,两个组织有着完全不同的行事风格,最终我们必须面临一个是选择HTML5还是HTML 5的问题。好在现在多款主流浏览器已经对HTML5的应用有了良好的支持,IE9更是将HTML5视为核心,所以,我们不必为HTML5担心,一切都会朝着好的方向发展的。
今天来介绍一下Javascript中的JSON序列化和反序列化,我们知道JSON是一种通用的数据格式,有着存储体积小等特点,而且JSON还是原生的Javascript对象的代码形式。接下来我们介绍一下JSON的序列化和反序列化方法。 首先,我们需要导入json2.js这个类库,可以从json.org官网上找到。下载地址 在一个HTML页面中加入如下代码: 输出结果: 下面是反序列方法,因为Json是原生的Javascript对象的代码形式,所以可以直接调用eval()方法进行反序列化 输出结果: 是不是很简单?在Javascript中用json这种数据格式比xml更有优势,现在很多ajax操作,基本用的都是json这种轻量级数据格式。推荐大家在ajax等需要数据交换的时候使用。
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中。我们在下面实例讲解如何进行Json的序列化和反序列化,本文介绍两种方案,.net 3.5原生Json操作和Json.net中的Json操作。 首先,我们先建立一个测试对象,用来序列化和反序列化。 第一种,利用.Net Framework 3.5中原生的Json操作类库,特点就是不需要导入第三方类库,比较方便,速度上一般,而且需要.Net Framework的支持,我们知道现在还有很多服务器没有升级到.Net Framework 3.5,就用不了这个了。 首先导入下面类库,并加入下面代码 System.ServiceModel System.ServiceModel.Web 输出结果 这个是.Net Framework 3.5原生的序列化方式,接着,我们介绍反序列化方式,还是同样的加入下面代码 输出结果 我们从.Net Framework 3.5原生的Json序列化及反序列化方式中,可以看出,还是相当麻烦的。很多网友也会问如果是.Net Framework 2.0该怎么办呢?下面,我们介绍一个第三方的Json序列化和反序列化类库,来完成上面操作,这个类库是有.Net Framework 2.0的版本的哦,而且这个类库还可以支持xml的序列化和反序列化操作(本文不做讲解)。下面看操作。 输出结果 这个是Json序列化方法,是不是简单了很多呢? 输出结果 这个是Json反序列化方法,简单吧,而且据说这个类库的速度比.Net原生的Json序列化和反序列化方法要快很多。下载地址http://json.codeplex.com/
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与客户端的数据交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 JSON可分为数组和对象 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 其中,数组和对象中的值都是双括号括起来的,可以是字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 因为Json是一种纯文本的数据格式,所以特殊字符需要转义,使用一个反斜线转义,这个和C#的字符串转义非常相似。数值表示上也与C#一样,除去未曾使用的八进制与十六进制格式。
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如: JScript VBScript 匹配 /^\[ \t]*$/ “^\[ \t]*$” 匹配一个空白行。 /\d{2}-\d{5}/ “\d{2}-\d{5}” 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。 /<(.*)>.*<\/\1>/ “<(.*)>.*<\/\1>” 匹配一个 HTML 标记。 下表是元字符及其在正则表达式上下文中的行为的一个完整列表: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,’n’ 匹配字符 “n”。’\n’ 匹配一个换行符。序列 ‘\\’ 匹配 “\” 而 “\(” 则匹配 “(“。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$ 也匹配 ‘\n’ 或 ‘\r’ 之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” [...]
JQuery还给我们提供了更为方便的Ajax功能 $().load(url,data,callback) 将远程的数据插入至DOM中,url即请求的地址,data即发送的数据,数据类型json数据如{name:’张三’},callback即该方法完成后,调用的方法,即将远程数据载入DOM后调用的方法。注:这个方法默认是以get方式提交请求的,如果data有数据,则已post方式提交 例子: $.get(url,data,callback) get方式提交请求,参数意义同上 例子: $.post(url,data,callback,type) post方式提交请求,参数同上,不同的地方就是多了type参数,表示返回内容的格式(xml, html, script, json, text, _default) 例子: $.getJson(url,data,callback) get方式提交请求,同$.get方法,区别只是这个返回内容格式固定为Json格式 例子: $.getScript(url,callback) get提交请求,载入并执行一个JavaScript文件,参数url即请求的地址,callback即该方法完成后,调用的方法 例子: