2KB项目,专业的源码交易网站 帮助 收藏 每日签到

IE 浏览器之后的原生 JavaScript 开发

  • 时间:2019-01-23 18:27 编辑:2KB 来源:2KB.COM 阅读:300
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:Nat
英文原文:Native JavaScript Development after Internet Explorer

这篇文章与是否放弃老版本 IE 支持毫无关系,你们(或你个人)必须要根据网站或应用程序的具体细节来做出决定。

1. JavaScript APIs

在本节中,我们将对 JavaScript 特性,相关 API 及其功能进行讨论。 他们都有什么共同点? 它们都不能用于老版本 IE,因为它们都需要使用各种插件或者通过各种其他框架和库(如果可以做到的话)才能达到想要的效果。但在当前的环境(IE11 + Edge)中,它们有本机内置的浏览器的支持,所以可以直接使用。

Base64 的编码和解码(btoa 和 atob)

Base64 是一种非常有用的web工具。许多人可能已经在使用,将字体或图像嵌入 CSS。 另一个常见的用法是,用其处理那些通常会干扰传输协议的各种资源。HTTP 基本认证提供了一个很好的例子,其用户名和密钥对使用 Base64 打包,然后发送到服务器。在本机支持编码/解码操作意味着它们会更有效率。 以下是一些资源,您可以从这些资料开始了解:

Blob构建

在数据库管理系统中,二进制大对象(Binary Large Object)或者 BLOB 是按照单个实体存储的原始数据进行集合。它可以是以 Base64 格式存储的音频剪辑或图像,也可以是单纯的一系列图像。在多数情况下,Blob 字段用于存储下使用正常的表结构数据或者或模式表数据,例如 JSON 对象。有些人可能只记得 BlobBuilderBlob,而不是接口的原型。既然这种方法既然已被弃用,那么,我比较推荐通过新的接口完成对 Blob 的所有操作。

另外,因为这个集合与文件非常相似,所以 Blob 对象的本地接口已被用作 File() 接口的父类。因此,它有一个很好的功能名字是“Blob URL”,其允许开发人员为 blob 对象创建 URL,这个 URL 可以在任何地方使用。考虑到这一点,非常庆幸原生支持现在能覆盖所有的主流浏览器。


信道消息

通常情况下,为了避免大量的安全隐患,两个不同浏览器上下文中的脚本是不能互通的。有时候,这样的通信并不是因为想要,而是需要。这就是信道产生消息(Channel Messaging) API 的原因。这个接口允许两个脚本通过一个双向通道进行通信。这就像是使用同一个信道使用对讲机的双方。很优雅,不是吗?

常量和块级变量

const 和 let 是 ES6 定义数据的两个新方法。与 var 用于定义全局和函数范围内的变量不同,这两个新的数据定义是块级的。换句话说, const 和 let 定义的变量的作用域是在定义它们的两个大括号之间。

使用 let 定义变量与以前的定义方式没多大区别(除了作用域不同)。常量(const 定义的)是只读的,引用着一个确定的值,不能被重新赋值,不能被重新定义,它的名字也不能被同一个作用域内的其它变量或函数使用。唯一的例外是,引用一个拥有自身属性的对象。这些属性不受保护,可以改变,就跟普通的变量一样。

如果想在代码中正确使用常量和块级变量,应该看看这些:

控制台日志

多数前端开发者都会同意 Web 控制台是手边最常用的工具之一,如果脚本没有按预期运行,通常会使用它。然而 IE 的性质决定了将这一特性整合在代码中是个漫长的过程,只有从 10 这个版本开始才对它提供完整的支持。如果你想了解相关的知识,或者想找到一些使用控制台的新方法,看看这个:

跨域资源共享

跨域资源共享 (CORS) 是一个 HTML5 的 API,它允许访问来自当前所有域名之外的资源。它引入了一组 HTTP 头,允许浏览器和服务器通过一个特定的许可请求远程资源。下面的资源对于学习如何正确使用这个功能是个很好的起点:

Web 加密 API

如今,安全和隐私是两个最热的特性,对于任何应用来说都是如此。这意味着好(而且快)的加密技术很受欢迎。目前所有主流浏览器都一致支持 Web 加密 API,除了 IE11(它实现了旧一些的规范)和 Safari(需要 crypto.webkitSubtle)。幸好某些特定的功能(比如产生随机数的功能)有更好的实现。因此,和以往任何时候相比,都更容易通过原生支持实现加密元素。下面是一些不错的参考:

国际化

如今,无处不在的互联网为你的网站带来世界各地的访问者。人们总是相信自己熟悉的东西,因此比较好的做法是把信息都按他们的语言和习惯的格式来提供。这就是国际化(Internationalization,或叫 i18n)和本地化(Localization,或叫L10n)存在的意义。你是否觉得难以区分?让我们引用Aurelio de Rosa 文章,如何在 JavaScript 中实现国际化(i18n),中的一段话:

国际化 (也叫 i18n) 是对产品或服务进行创造或转换的一个过程,这个过程使用产品或服务易于适应特定地域的语言和文化。本地化(也叫 L10n)这个过程是将国际化的软件适配到特定的区域或语言。换句话说,国际化是让你的软件能支持多种文化(货币格式、日期格式等),而本地化是实现其中一种或多种文化的过程。

浏览器的支持略好于年初的时候,Safari 9月发布的 v10 开始加入支持。有兴趣吗?这里有一些资源:

处理多媒体查询

响应式网页设计是高性能网站设计的当前标准,其中促成这个最核心的特性是支持多媒体查询。matchmedia 把媒体查询从 CSS 带入到 JavaScript 中,为开发人员针对不同类型的设备做内容方面优化提供了诸多便利性。一个很好的例子是在手机和平板电脑上来回切换横屏和竖屏模式。虽然有一个 API 可以检测设备方向,但仅部分浏览器的支持,而只有 Microsoft Edge 提供了完全支持。 以下是一些资源,可以帮你从这个主题开始:

媒体源的扩展

媒体源扩展(MSE)增加了对视频和音频元素额外的扩展功能,且不需要插件。这为你提供了诸如自适应媒体流,实时媒体流,拼接视频,和视频编辑等功能。2013 年 9 月,YouTube 就在他们的 HTML5 播放器上使用了 MSE。 在浏览器的支持上也是很好的,仅仅只有 iOS Safari 和 Opera Mini 错过了这个功能。在 Windows 8+ 上,IE11 已经能完全支持这个功能。不幸地是,IE11/Win7 用户不能从这项技术上受益。你是否准备好开始在这些 API 上工作,如果是的话,下面这些资源将会很有用:

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部