chrome和safari都是webkit内核,为什么两个浏览器
2019-08-01 本文已影响0人
来碗鸡蛋面
原创声明
本文系作者辛苦码字所得,欢迎分享和转载,但请在明显位置注明作者的如下信息:
笔名:来碗鸡蛋面
简书主页:https://www.jianshu.com/u/4876275b5a73
邮箱:job_tom@foxmail.com
CSDN ID:tom_wong666
问题:
chrome和safari都是webkit内核,为什么两个浏览器还会有兼容性问题?
分析:
刚开始接触浏览器内核的时候,我们会了解到chrome和safari都是webkit内核,至于webkit的来历,故事有点长,想了解的同学可以自行百度。
到这里,我们一般认为同样的代码,在chrome和safari上的表现应该是一致的(这里未考虑平台和设备的因素),我最早也是这样认为的,但是现实啪啪啪的打脸了,看下面一个例子:
console.log(new Date('2019/05'));
chrome的打印结果:
'Wed May 01 2019 00:00:00 GMT+0800 (中国标准时间)'
safari的打印结果:
'Invalid'
答案:
带着这个问题,我在神奇的网络上找到了如下答案:
目前的浏览器,由两部分引擎组成,渲染引擎和js引擎,chrome和safari的渲染引擎都是webkit,但是js引擎却不同,这是导致二者兼容性问题的根源
chrome:渲染引擎webkit, js引擎:v8;
safari: 渲染引擎webkit, js引擎: Nitro;