关于新的WEB标准和浏览器HTML5支持

关于新的WEB标准和浏览器HTML5支持
关于新的WEB标准和浏览器HTML5支持

HTML5新的WEB标准和浏览器支持

E4X (ECMA-357)

Firefox和ActionScript3早就实现了的东西……不过实在现在json这么流行,有没有E4X似乎都无所谓了~(瞎说的,实在在js代码里直接写dom对象而不是html字符串,会方便很多)

MDC文档:https://https://www.360docs.net/doc/0816333271.html,/en/E4X

支持:Firefox 1.5+

ECMAScript 5 Native JSON

原生的JSON支持,速度和安全性都比eval强一百倍亚一百倍,另外要留意Douglas Crockford 的json2.js是一个用js实现的js解释器,所以安全性更好

JSON.parse( text, translate )

JSON.stringify(obj, translate )

String.prototype.toJSON

Boolean.prototype.toJSON

Number.prototype.toJSON

Date.prototype.toJSON

MDC文档:https://www.360docs.net/doc/0816333271.html,/webdev/2009/02/12/native-json-in-firefox-31/

MSDN文档:https://www.360docs.net/doc/0816333271.html,/ie/archive/2008/09/10/native-json-in-ie8.aspx

支持:Firefox 3.5+, IE8+

替换/过渡:json2.js https://www.360docs.net/doc/0816333271.html,/json2.js

ECMAScript 5 Array Extras

js1.6里实现的数组方法,主要是forEach, map, fliter这几个函数式编程里非常重要的方法,还有反向查询阴阳师笔记黑岩https://www.360docs.net/doc/0816333271.html,/read_6796/

Array.prototype.indexOf( str )

https://www.360docs.net/doc/0816333271.html,stIndexOf(str )

Array.prototype.every(fn )

Array.prototype.some(fn )

Array.prototype.filter(fn )

Array.prototype.forEach(fn )

Array.prototype.map(fn )

MDC文档:https://https://www.360docs.net/doc/0816333271.html,/en/New_in_JavaScript_1.6#Array_extras

支持:Firefox2.0+, Safari 3.0+, Google Chrome 1.0+, Opera 9.5+

替换/过渡:都可以通过扩展Array.prototype来模拟

ECMAScript 5 isArray()

区分数组和对象

Array.isArray([]); // true

支持:无

替换/过渡:Array.isArray = function(a){ return Obje ct.prototype.toString.call(a) === “[object Array]”;};

ECMAScript 5 Object

用GOOGLE I/O演讲里的话来说:更鲁棒(robust)的对象系统

Object.getPrototypeOf( obj )

约翰同学的讲解:https://www.360docs.net/doc/0816333271.html,/blog/objectgetprototypeof/

支持:Firefox3.5

替换/过渡:object.__proto__ 或object.constructor.prototype

Object.create( proto, props ) //克隆或继续对象

Object.keys(obj ) //数据结构的映射

Object.getOwnPropertyNames(obj )

Object.preventExtensions(obj ) //不能添加新属性

Object.isExtensible(obj )

Object.seal(obj ) //不能删除和修改属性的配置,不能添加新属性

Object.isSealed(obj )

Object.freeze(obj ) //不能删除和修改属性的配置,不能添加新属性,不能写属性

Object.isFrozen(obj )

约翰同学的讲解:https://www.360docs.net/doc/0816333271.html,/blog/ecmascript-5-objects-and-properties/

支持:无

替换/过渡:Object.create和Object.keys可以自己实现

ECMAScript 5 Property Descriptor

对象属性的访问控制

Object.getOwnPropertyDescriptor( obj, prop )

Object.defineProperty(obj, prop, desc )

Object.defineProperties(obj, props )

desc = {

value: true,

writable: false, //修改

enumerable: true, //for in

configurable: true, //删除和修改属性

get: function(){return name; },

set: function(value){name = value; }

}

约翰同学的讲解:https://www.360docs.net/doc/0816333271.html,/blog/ecmascript-5-objects-and-properties/

支持:无

替换/过渡:Object.defineProperties实在相当于jQuery.extend,用来实现Mixin ECMAScript 5 Getters and Setters

python和ruby里都有的属性访问方法

obj = {

getinnerHTML() { return …; },

setinnerHTML(newHTML) { … }

};

MDC文档:https://https://www.360docs.net/doc/0816333271.html,/en/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Ge tters_and_Setters

支持:Firefox 2.0+, Safari 3.0+, Google Chrome 1.0+, Opera 9.5+

替换/过渡:

非标准,Firefox1.5里的旧方法

HTMLElement.prototype.__defineGetter__("innerHTML", function () {});

HTMLElement.prototype.__defineSetter__("innerHTML", function(val) {});

支持:Firefox 2.0+, Safari 3.0+, Google Chrome 1.0+, Opera 9.5+

标准

Object.defineProperty(document.body, "innerHTML", { get : function () {} });

MSDN文档:https://www.360docs.net/doc/0816333271.html,/en-us/library/dd229916(VS.85).aspx

支持:IE8+ (只能对DOM使用)

ECMAScript 5 Strict Mode

ES5的严格模式,删除了旧版本中轻易引起题目的元素,并且会显式的报错,方便调试"use strict"; //以下情况下抛出异常

//对未定义的变量赋值

//操纵被设置为不可写,不可配置或不可扩充的属性

//删除变量,函数,参数

//在对象直接量里重复定义属性

//eval做关键字,在eval的字符串里定义变量

//覆写arguments

//使用arguments.caller和arguments.callee(匿名函数必须具名才能引用自己)

//(function(){ ... }).call( null ); // Exception

//使用with

约翰同学的讲解:https://www.360docs.net/doc/0816333271.html,/blog/ecmascript-5-strict-mode-json-and-more/

支持:无

替换/过渡:……从现在开始养成严谨的编程习惯

诡家仙https://www.360docs.net/doc/0816333271.html,/read_7503/

ECMAScript 5 其他新特性

传递函数的引用时,绑定this

Function.prototype.bind(thisArg, arg1, arg2....) /

支持:无

替换/过渡:prototype https://www.360docs.net/doc/0816333271.html,/api/function/bind

ISO-formatted dates

Date.prototype.toISOString() // Prints 2009-05-21T16:06:05.000TZ

支持:无

替换/过渡:datejs https://www.360docs.net/doc/0816333271.html,/p/datejs/

String.prototype.trim()

支持:Firefox3.5

替换/过渡:各种正则实现https://www.360docs.net/doc/0816333271.html,/archives/faster-trim-javascript

简单的web浏览器

网络程序设计课程设计报告 专业网络工程 学号09102125 姓名赵旭阳 2012 年12月日

一、课程设计目的与任务 1.目的 (1)加深对计算机网络的基本概念和原理,以及网络编程接口Socket概念及编程原理的理解; (2)提高学生网络应用与编程、分析与解决实际问题的能力,为大型网络编程打下坚实基础; (3)通过撰写课程设计报告,锻炼学生的逻辑组织和语言表达能力; (4)培养学生理论运用于实践的综合应用和设计创新能力。 通过本次课程设计,使学生进一步理解、领会C#语言和网络编程技术,把所学的知识运用到具体的程序设计当中去,编写一个接近实际的应用程序。 本课程设计是一门综合性实验。 通过本次课程设计,掌握.net应用程序设计;加深对TCP/IP协议的理解;掌握C/S编程模式;掌握Socket机制、传输控制协议;用户数据报协议;掌握网络抓包的原理;掌握网络编程应用程序分析、设计、编程和调试的整个过程。 2.任务 (1)设计完成与网络应用相关题目的网络应用软件; (2)调试运行之后,要求边演示边解释设计的思想、过程及采用的方法; (3)完成课程设计报告。 二、课程设计的基本要求 1.熟练掌握网络的基本概念和原理; 2.熟练掌握网络编程接口Socket概念及编程原理; 3.掌握基于TCP/IP的Internet编程技术; 4.掌握各种软件开发工具的使用过程及方法。 三、设备及工具 硬件:微机120台以上,I3以上处理器,1024M以上内存、Ethernet网卡,交换机软件:Windows2000/XP操作系统,VS2010编程环境。 6.主要参考资料(文献) 1. 《TCP/IP—协议分析与应用编程》人民邮电出版社李峰 2. 《TCP/IP协议与网络编程》西安电子科技大学出版社任泰明 3. 《TCP/IP协议及网络编程技术》清华大学出版社罗军舟 4. 《C#网络编程技术教程》人民邮电出版社金华

简易IE浏览器设计报告

C#程序设计 设计说明书 简易IE浏览器的设计与实现 学生姓名:郭成成 学号:1103380106 班级:计算机(一)班 专业:计算机应用技术 指导教师:胡老师

课程设计任务书 2011—2012 学年第二学期 课程设计名称:C#课程设计 设计题目:简易IE浏览器的设计与实现 完成期限:自 2012 年 11 月 8 日至 2011 年 11 月 29 日共 3 周 设计依据、要求及主要内容: 根据程序设计所学知识,设计与实现一个简单浏览器,该简单浏览器设计的内容和功能要求如下: (1)有合理的首页页面设计,背景柔和。 (2)有多个按钮,比如说前进、后退、刷新删除等。 (3) 输入地址栏,支持所有的网址,并有转到功能。 (4)设计登陆页面。 (5) 可以存储网址,进行网内连接。 (6)是利用 C#编写程序,该浏览器简单但功能齐全。 (7) 使用时同样可以最大化最小化。 (8)按钮是利用画图工具进行拷贝下来的。 (9) 地址默认为百度。 要求:系统功能设计基本完善,并写出详细的设计说明书。

摘要 关键词:关键词:前进、后退、刷新、输入合法地址、运行程序,在网内搜索,使用 vs2005 中的 C#编写程序,利用画图工具。拷贝前进、后退按钮。 1 课题描述 利用C#编写简单的程序,创建一个简易IE浏览器,包含基本的功能,培养编写程序的兴趣。实践中了解浏览器的一些特性 2 程序设计流程图 2.1 系统说明 使用 win7 系统,vs2005 中的控制台应用程序,设计主界面,并拖放按钮。具有一 般浏览器的基本功能,前进、后退、刷新、地址等。在输入地址栏。设默认地址为百度,便于使用,刷新功能,在网速不是太好,有一点卡时,刷新一下,主界面可以最 大化和最小化。使用绿色为边框颜色,用画图工具拷贝文件按钮,设有六个小按钮, 包括前进、后退、删除、刷新、转到等按钮。 2.1 主界面的设计主界面用纯白色背景,界面以中等大小为宜。使用绿色为边框颜色,用画图工具拷贝文件按钮,设有六个小按钮,包括前进、后退、删除、刷新、转到等 按钮。主界面用纯白色背景,界面以中等大小为宜。 3 功能的设计 3.1 主界面功能的设计 主界面功能的设计主界面打开时,显示空白背景。地址为默认的百度 3.2 后退功能的设计 后退功能的设计当打开网页时,想浏览之前的网页,不需要重新打开,只需按倒退按钮,就可以浏览之前的网页,这是退后按钮的功能 3.3 浏览功能的设计 浏览功能的设计浏览基本的网页视频、文本文件等,浏览新闻杂志,打开别的网页 4 测试 4.1 系统测试

简易浏览器设计报告

目录 目录 (1) 一、课程设计的目的与要求 (2) 二、题目说明 (2) 2.1程序开发背景................................................................... 错误!未定义书签。 2.2开发工具介绍 (2) 三、总体设计 (2) 3.1.系统开发平台: (2) 这个简易浏览器由Java语言编写,用Eclipse编译执行 (2) 3.2.系统流程图: (3) 3.3功能结构图: (3) 四、详细说明 (4) 4.1 系统实施 (4) 五、遇到的问题和解决方法 (9) 六、课程设计总结 (10)

一、课程设计的目的与要求 加深学生对面向对象概念以及JAVA面向对象程序设计思想的理解和掌握;使学生熟悉开发一个项目的基本过程,培养学生分析问题和解决问题的能力,增强学生的动手能力。为后续学习和应用打下一定的基础。 二、题目说明 本程序实现一个简单的浏览器。用户通过在URL输入框中输入要下载的网络页面的网址,并点击浏览器界面上相应的按钮,或直接按回车键,就能完成网络页面下载的功能。同时,它还支持浏览本地HTML文件,用户在输入框中输入文件所在盘符及具体路径,并按回车键,或者点击界面上相应按钮,实现浏览本地文件的功能。它能够实现页面的文本链接,能够显示网页图片,并能够通过相应按钮的操作返回上一次访问的页面,还可以通过相应按钮返回后退之前访问的页面。该简易浏览器能帮助用户实现基本的网页浏览功能。 2.2开发工具介绍 三、总体设计 3.1.系统开发平台: 这个简易浏览器由Java语言编写,用Eclipse编译执行

简单IE浏览器设计报告

C#程序设计 设计说明书简易IE浏览器的设计与实现 学生姓名:郭成成 学号:1103380106 班级:计算机(一)班 专业:计算机应用技术

指导教师:胡老师 课程设计任务书 2011—2012 学年第二学期 课程设计名称:C#课程设计 设计题目:简易IE浏览器的设计与实现 完成期限:自 2012 年 11 月 8 日至 2011 年 11 月 29 日共 3 周 设计依据、要求及主要内容: 根据程序设计所学知识,设计与实现一个简单浏览器,该简单浏览器设计的内容和功能要求如下: (1)有合理的首页页面设计,背景柔和。 (2)有多个按钮,比如说前进、后退、刷新删除等。 (3) 输入地址栏,支持所有的网址,并有转到功能。 (4)设计登陆页面。 (5) 可以存储网址,进行网内连接。 (6)是利用 C#编写程序,该浏览器简单但功能齐全。

(7) 使用时同样可以最大化最小化。 (8)按钮是利用画图工具进行拷贝下来的。 (9) 地址默认为百度。 要求:系统功能设计基本完善,并写出详细的设计说明书。 摘要 关键词:关键词:前进、后退、刷新、输入合法地址、运行程序,在网内搜索,使用vs2005 中的 C#编写程序,利用画图工具。拷贝前进、后退按钮。 1 课题描述 利用C#编写简单的程序,创建一个简易IE浏览器,包含基本的功能,培养编写程序 的兴趣。实践中了解浏览器的一些特性 2 程序设计流程图 2.1 系统说明 使用 win7 系统,vs2005 中的控制台应用程序,设计主界面,并拖放按钮。具有一 般浏览器的基本功能,前进、后退、刷新、地址等。在输入地址栏。设默认地址为百度,便于使用,刷新功能,在网速不是太好,有一点卡时,刷新一下,主界面可以最 大化和最小化。使用绿色为边框颜色,用画图工具拷贝文件按钮,设有六个小按钮,包括前进、后退、删除、刷新、转到等按钮。 2.1 主界面的设计主界面用纯白色背景,界面以中等大小为宜。使用绿色为边框颜色,用画图工具拷贝文件按钮,设有六个小按钮,包括前进、后退、删除、刷新、转到等按钮。主界面用纯白色背景,界面以中等大小为宜。

推荐-基于Web浏览器的桌面虚拟化系统 精品

基于Web浏览器的桌面虚拟化系统 华中科技大学 硕士学位 基于Web浏览器的桌面虚拟化系统 姓名:梁小锋 申请学位级别:硕士 专业:计算机软件与理论 指导教师:廖小飞 20XX-01-16 华中科技大学硕士学位

摘要 近年来,随着计算机性能的日益提升,网络带宽越来越大,绿色节能的呼声越 来越大,虚拟化技术在资源整合以及安全隔离等方面的优势日渐突出,成为学术界 和工业界关注的热点。桌面虚拟化技术是目前虚拟化领域的研究热点。围绕着桌面 虚拟化的用户体验,学术界和工业界都做了相当多的研究工作。但目前,桌面虚拟 化系统中的关键技术仍然面临着诸多挑战:如何以随处执行的理念提高系统易用性; 如何设计高效的图形压缩与多窗口集成机制以提高用户体验等。 基于 Web 浏览器的桌面虚拟化系统(WebDesk )有效地解决了上述问题。其核

心设计思想是:把网络应用程序和本地的桌面应用程序集成到一个虚拟的工作环境 中,并以浏览器为载体提供登录与使用的方式。用户在该平台上不仅可以使用互联 网上第三方服务商提供的应用服务,还可以使用原生的桌面应用程序。WebDesk 主 要技术如下:通过部署用户请求中心来处理用户请求,建立客户端与应用程序服务 器的连接;使用 JavaScript 构建一个用户界面框架,把多个应用整合到一个页面中; 在后台截获应用程序窗口的图像更新,并通过远程传输协议传输到应用传输单元, 在客户端显示;通过窗口同步技术来同步用户端和服务端的应用窗口;通过把数据 传输通道迁移到物理机中,直接读取虚拟机显示缓存的方式来优化图像传输

性能。 为了验证 WebDesk 的功能并测试其性能,设计了一个真实的集群硬件环境,并 通过部署桌面虚拟化系统建立了一个实验性的安全办公环境。功能测试表明, WebDesk 可以实现的窗口图像的传输和窗口控制操作,整合网络应用服务和原生的 桌面应用程序的功能。性能测试表明,在 WebDesk 中,用户打字平均延时约 52 毫 秒,图像传输平均延时约为 190 毫秒,而视频传输质量为 82.7%。 关键字:桌面虚拟化,瘦客户端,图像传输 I 华中科技大学硕士学位

一个简易的JavaScript网页图片浏览器

效果演示: https://www.360docs.net/doc/0816333271.html,/slideshow/ 难点:响应鼠标事件实现滑动效果 项目目录: files文件夹下的几个文件夹都是放的图片,fullsize里面是大图,thumbs里面是小图。其中那个.png文件是测试用的图片 页面部分: