问题:
chrome和safari都是webkit内核,为什么两个浏览器还会有兼容性问题?
分析:
刚开始接触浏览器内核的时候,我们会了解到chrome和safari都是webkit内核,至于webkit的来历,故事有点长,想了解的同学可以自行百度。
到这里,我们一般认为同样的代码,在chrome和safari上的表现应该是一致的(这里未考虑平台和设备的因素),我美国高防vps最早也是这样认为的,但是现实啪啪啪的打脸了,看下面一个例子:
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;
58123677