es6 谷歌浏览器?谷歌浏览器es插件

大家好,今天小编来为大家解答以下的问题,关于es6 谷歌浏览器,谷歌浏览器es插件这个很多人还不知道,现在让我们一起来看看吧!

es6 谷歌浏览器?谷歌浏览器es插件

本文目录

  1. 如何使用Babel将ES6转码为ES5
  2. 前端面试题之解决浏览器兼容性的方案

一、如何使用Babel将ES6转码为ES5

$ npm install-g babel-cli//也可以通过直接将Babel安装到项目中,在项目根目录下执行下面命令,同时它会自动在package.json文件中的devDependencies中加入babel-cli//在执行安装到项目中命令之前,要先在项目根目录下新建一个package.json文件。$ npm install-g babel-cli--save-dev

如果将babel直接安装到项目中,它会自动在package.json文件中的devDependencies中加入babel-cli。如下所示:

//......{"devDependencies":{"babel-cli":"^6.22.2"}}

1.2) Babel的配置文件是.babelrc,存放在项目的根目录下。使用Babel的第一步,就是配置这个文件。

这个文件的完整文件名是“.babelrc”,注意最前面是有个“.”的。由于我的电脑是Windows系统,所以在新建这个文件的时候老是提示“必须键入文件名”的错误。后来谷歌了下,发现创建这个文件的时候,把文件名改成“.babelrc.”,注意是前后都有一个点,这样就可以保存成功了

1.3) presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。

点击此处到Babel中文官网presets配置页面:Babel Plugins

# ES2015转码规则$ npm install--save-dev babel-preset-es2015# react转码规则$ npm install--save-dev babel-preset-react# ES7不同阶段语法提案的转码规则(共有4个阶段)

二、前端面试题之解决浏览器兼容性的方案

浏览器兼容性涉及的内容有很多,特别是针对IE浏览器,以下整理出五种常见的浏览器兼容性解决方法。

由于各大浏览器会有自身的默认样式,并且不尽相同,所以为了尽可能的保证样式的统一性,前端在开发项目之前都会先进行样式格式化,最常见的分为以下几个方面。

1.pandding值和 margin值均设置为 0

将html、body、a、li、ol、input、textarea、select、button等标签的 padding值和 margin值设置为 0。

设置统一的字体,如果使用 rem单位,则 html需要设置合适的字号。

设置统一的颜色,将 text-decoration属性设置为 none。

5.input、textarea、select、button等标签初始化

二、使用不同类型的浏览器内核前缀

1.Chrome(谷歌浏览器)与 Safari(苹果浏览器)内核:Webkit(中译无)前缀:-webkit-

2.IE(IE浏览器)内核:Trident(中译三叉戟)前缀:-ms-

3.Firefox(火狐浏览器)内核:Gecko(中译壁虎)前缀:-moz-

4.Opera(欧朋浏览器)内核:Presto(中译迅速)前缀:-o-

-webkit-border-radius: 10px;/谷歌浏览器/

-ms-border-radius: 10px;/ IE浏览器/

-moz-border-radius: 10px;/火狐浏览器/

-o-border-radius: 10px;/欧朋浏览器/

三、针对IE浏览器不同版本的解决方案

1.对于低版本的 IE浏览器使用 CSS hack(即给特点前缀)

注:以下符号是写在属性名前面。

兼容 IE6、7的 hack符号:`~!@#$% ^&*()+= [ ]|<>,.任意一个符号

注:以下符号是写在属性值与分号直接,中间不留空格。

兼容 IE8、9、10的 hack符号:\0

兼容 IE6、7、8、9、10的 hack符号:\9

.border-radius: 10px;/ IE6\7\8/

border-radius: 10px\0/;/ IE8/

border-radius: 10px\0;/ IE8\9\10/

border-radius: 10px\9;/ IE6\7\8\9\10/

2.为不同的版本编写独立的样式,其他浏览器识别不到。

例:大于 IE9的浏览器使用这个单独的 style9.css样式

例:只有 IE6浏览器使用的 style6.css样式

1.cursor属性的 hand值和 pointer值

问题:firefox浏览器不支持 hand值,但其他浏览器均支持 pointer值。

解决:统一使用 cursor属性的 pointer值。

问题:IE8及IE8以下版本浏览器不可通过设置 margin:0 auto实现水平居中。

解决:可通过设置父级 text-align:center实现。

问题:IE8及IE8以下版本浏览器不支持属性值“inherit”。

解决:谨慎使用属性值“inherit”。

问题:IE11不支持箭头函数、class语法等(报 SCRIPT1002:语法错误),不支持 Set和 Map数据结构(不报错)及 Promise对象,支持 let和 const,IE10及以下不支持任何 ES6语法。

解决:如果要兼容IE浏览器的项目请使用 ES5语法或者使用 Babel进行转换。

问题:IE9及 IE9以下版本浏览器,不能操作 tr标签的 innerHTML属性。

解决:可以操作 td标签的 innerHTML属性。

问题:IE9及 IE9以下版本浏览器无法使用 Ajax获取接口数据。

解决:在使用 Ajax请求之前设置 jQuery.support.cors=true。

问题:IE8及 IE8以下版本浏览器 event对象只有 srcElement属性,没有 target属性。

解决:obj= event.target?event.target:event.srcElement。

问题:IE8及 IE8以下版本浏览器是用 attachEvent()方法,而其他浏览器是 addEventListener()方法。

解决:判断 IE浏览器版本,如果是 IE8及以下事件绑定则使用 attachEvent()方法,注意 attachEvent()方法的用法,第一个参数为“onclick”而不是“click”。并且没有第三个参数。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。

本文链接:http://www.gdxhedu.com/news/205645.html