使用IE11构建全球通用的JavaScript应用程序

标签: IE Web IE11 JavaScript 应用程序 | 发表时间:2013-11-15 13:13 | 作者:iefans
出处:http://www.iefans.net

开发人员若想要在全球范围内构建丰富的 Web 应用,如今的 JavaScript 标准缺乏一些基本对象和库帮助器。现在利用 Internet Explorer 11,Web 应用程序现在可以使用 JavaScript ECMAScript 国际化 API,该功能提供有标准的 JavaScript 接口,可以实现出色的全球通用体验,例如,数字、日期、时间和货币格式和特定文化的字符串排序(比较)。在 IE11 中,Web 应用可以利用 Windows 国际化库中公开的功能,包括对 364 种可用区域设置、18 种编号系统和各种日期模式的支持,同时还支持常见的日历系统 — 公历、伊斯兰教历、希伯来历、佛历以及韩国和日本日历。 ECMA-402 规范还更新了现有 ECMAScript 5.1 的 toLocale* API,使这些 API 能够识别不同的区域设置。

Web 应用 过去很难实现全球化,这是因为 JavaScript 缺少对公开基础操作系统功能的基本帮助器和对象的支持。应用程序依靠插件、浏览器扩展或服务器端数据操作提供全球通用的全球化体验。IE11 对 ECMA-402 的支持令全球通用的 JavaScript 应用程序更为直接。

识别区域设置的字符串排序规则(排序)

IE11 可以自动实现特定区域设置字符串排序背后通常很复杂的逻辑。在不同的语言和文化间,字符串的排序和顺序惯例通常大相径庭。排序顺序可能会基于大小写敏感性、语音或者字符的可视化表示。例如,在东亚语言中,字符是按笔画和会意字的偏旁来排序。不同的语言和文化其排序还取决于字母排序顺序。例如,瑞典语有一个字符 "Æ",排在 "Z" 后。德语也有字符 "Æ",但是其排序像 "ae",排在 "A" 后。

在 IE11 中,可以使用 Intl.Collator 构造函数,以及所需的区域设置和选项,来构造能区分不同区域性的排序器对象。排序器对象的比较方法可以用于比较两个字符串。 String.prototype.localeCompare 已更新为可以内部使用 Intl.Collator,以便实现区分区域设置的比较,现在可以支持另外两个可选参数,区域设置和选项。

下面的示例说明了 Intl.Collator.prototype.compare 如何在排序期间以不同的方式评估字符串("Apple"、"Æble" 和 “Zebra”),这取决于用于比较的区域性。

var arr = ["Apple", "Æble", "Zebra"]; // Create collator object to use culture rules for English in the U.S. var co = new Intl.Collator("en-US"); // Sorting array 'arr’ produces [Æble, Apple, Zebra] based on en-US rules arr.sort(function(a, b) { return co.compare(a, b); }); // Create collator object to use culture rules for Danish in Denmark var co = new Intl.Collator("da-DK"); // Sorting array 'arr’ produces [Apple, Zebra, Æble] based on da-DK rules arr.sort(function(a, b) { return co.compare(a, b); });

数字格式

IE11 支持多种区域性和编号系统所用的惯例,用以设置数字的格式和显示形式。当表示和比较数字时,IE11 支持不同的格式,例如,“小数点”、“百分比”和“货币”。对于货币,显示选项包括“代码”和“符号”。不同的区域设置可以设置自己要显示的最小或最大整数、分数或有效数字。例如,对于区域设置 "en-US",小数 10000.50 将显示为 10,000.50 这样的格式,对于 "de-DE",该数字则显示为 10.000,50。

可以使用 Intl.NumberFormat 构造函数以及所需的区域设置标记和选项来构造区分区域性的 NumberFormat 对象。NumberFormat 对象的 format 方法可以用于基于区域设置和选项集来指定数字数据的格式。 Number.prototype.toLocaleString 已经更新为可以内部使用 Intl.NumberFormat,以提供区分区域性的格式,现在支持另外两个可选参数 - 区域设置和选项。

您可以试用 World Data Test Drive,它使用 JavaScript 中提供的新数字格式 API 为数字指定格式,例如,小数、百分比或货币(包括本地货币显示)。

IE11 的新的国际化 API 支持特定区域设置的数字格式,无需额外的代码

IE11 的新的国际化 API 支持特定区域设置的数字格式,无需额外的代码

日期和时间格式

与各种不同的数字格式相类似,不同的地区日期和时间格式也差别很大,IE11 支持多个选项,诸如时区、年代、年份、月、工作日、日、小时、分钟和秒等等。

可以使用 Intl.DateTimeFormat 构造函数以及所需的区域设置标记和选项来构造区分区域性的 DateTimeFormat 对象。DateTimeFormat 对象的 format 方法可以用于基于区域设置和选项集为时间值指定格式。现有区分区域设置的 API Date.prototype.toLocaleStringDate.prototype.toLocaleDateStringDate.prototype.toLocaleTimeString 已更新为可以在内部使用 Intl.DateTimeFormat 来指定区分区域性的格式,现在支持另外两个参数 — 区域设置和选项。

World Data Test Drive 中,当单击并选择国家/地区时,您可以设置不同区域设置的最新人口普查日期格式,可以选择短月份和短年份等选项。

IE11 的新国际化 API 支持区域特定的日期和时间格式,无需额外代码

IE11 的新国际化 API 支持区域特定的日期和时间格式,无需额外代码

小结

在发展 JavaScript 语言且帮助 Web 开发者创作出全球通用的应用程序方面,IE11 帮助我们迈出了坚实的 第一步,并且标准委员会还在继续精选和提炼后续版本标准的方案列表。您使用了一段时间 ECMAScript-402 的版本 1.0 后,我们欢迎大家对版本 2.0 的 提议进行反馈,这样当委员会每隔几个月进行会晤和商议之时,可以更好地反映 Web 开发者的需求。

我们期待着开发者在 IE11 中利用基于新标准的 API 创建出优秀的全球通用 Web 应用程序。

— JavaScript 团队项目经理 Suresh Jayabalan

This article addresses: http://www.iefans.net/ie11-goujian-quanqiu-tongyong-javascript-yingyong/

Here is no comments yet by the time your rss reader get this, Do you want to be the first commentor? Hurry up

相关 [ie11 全球通 javascript] 推荐:

使用IE11构建全球通用的JavaScript应用程序

- - IE浏览器中文网站
开发人员若想要在全球范围内构建丰富的 Web 应用,如今的 JavaScript 标准缺乏一些基本对象和库帮助器. 现在利用 Internet Explorer 11,Web 应用程序现在可以使用 JavaScript ECMAScript 国际化 API,该功能提供有标准的 JavaScript 接口,可以实现出色的全球通用体验,例如,数字、日期、时间和货币格式和特定文化的字符串排序(比较).

IE11兼容问题

- - 研发管理 - ITeye博客
IE11下载地址:http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40901. 安装IE10和IE11之前需要先保证操作系统是Service版本的. win7 sp1升级包下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=5842.

IE9/IE10/IE11兼容性更改汇总

- - IE浏览器中文网站
从IE9开始,微软对IE动了很大的“手术”,做了很多改进,逐步向W3C靠拢,对HTML5也提供了很多支持. 以下是相对于IE8之前的版本,IE9+各版本改动较大的功能点. IE的高版本里面提供了从上往下的兼容性测试工具,IE11中内置了IE10\IE9\IE8\IE7等兼容性测试模式,以方便开发者进行相应版本的测试.

微软IE11浏览器的7大变化

- - 36氪 | 关注互联网创业
微软很看重自己的IE浏览器,这款浏览器跟Windows捆绑在一起已经走过了10年. 去年微软推出Windows 8时也同时发布了新版的浏览器IE10,这是一款针对Windows 8强调的全屏及触摸优先特点而开发的浏览器. 因此IE10天生就是很大的一个变化,但是这款浏览器也有一些奇怪的限制. 比如web内容占据全屏,除非点击右键才能看到标签页或URL条.

IE11企业模式详解,这对于企业有什么用?

- - IE浏览器中文网站
在帮助企业及时了解最新软件、服务和设备方面,Microsoft 迈出了重要一步. 今天,作为 Windows 7 和 Windows 8.1 的一项更新推出了 Internet Explorer 11 的企业模式,该模式可提供与较早版本 Internet Explorer 更好的兼容性,以及用于管理哪些 Web 应用使用该模式的工具.

微软正式发布Windows 7版IE11浏览器

- - WPDang
微软IE浏览器团队在其官方博客宣布,Windows 7版IE11浏览器正式发布, 目前已经可以在其官网进行下载. 安装包支持95种语言,未来数周内还将通过系统自动更新的方式推送给所有Windows 7用户. 在官方博客中,微软号称IE11在实际使用中比其前代IE10提速9%,比其它竞争对手快至少30%,并整合各种最新技术,增加25种现代Web开发标准兼容,是Windows平台上最佳的浏览器.

前端开发工程师:不是IE的IE11

- - IE浏览器中文网站
IE11浏览器自去年六月份发布以来虽然据说也取得了不错的成绩,但是根据百度流量研究院的浏览器数据显示,国内好像还看不到其占有率,但全球范围内 IE11的占有率已经超过IE10和IE9的总和. 获取IE11可以从两种方式:安装 Win8.1 里面内置IE11;从Win 7的 IE9/10 升级,但XP在中国仍然有超过 60%的占有率,而XP最高也只能升级到IE8.

WebKit是新时代的IE6,微软修改移动版IE11

- - Solidot
微软IE团队调查了500家最流行网站在不同移动浏览器中的行为,发现很多网站会将移动版IE11浏览器识别为桌面版本,并特别为基于WebKit的浏览器优化. 基于WebKit引擎的浏览器如Mobile Safari统治了移动浏览器市场,这些浏览器包含了许多非标准化的特性,此类的优化会给不支持这些特性的浏览器带来问题.

IE11开发人员工具:内存分析工具详解

- - IE浏览器中文网站
上篇我们跟大家介绍了IE11开发人员工具中的新功能: UI响应工具的使用方法,通过这个工具我们可以有效快速的找出网页应用中的哪些组件占用了多少CPU时间,有利于我们对代码进行改进. 除了CPU的占用情况我们比较关注以外,应用对内存的占用情况也是值得我们关注的问题. 所以今天我们在给大家分享跟UI响应工具一起加入到IE11开发者工具中的新功能:内存分析.

IE10和IE11对比,删除和新增的功能

- - IE浏览器中文网站
微软最新发布的Internet Explorer 11 (IE11)包含诸多新功能,比如改进了性能和安全性、页面加载速度更快、支持新的网页标准和WebGL等. 但你是否知道 IE11也删除了某些功能. 下面,就将和大家一起来探讨IE11中删除的所有功能,以及添加的新功能. 闲话少说,让我们来分享特色列表:.