开发者:Youtube代码可能只为修复Edge浏览器bug

编辑:xiaoling 阅读:15 时间:2018-12-20 14:16:54

12月20日消息 此前一名微软Edge浏览器工程师表示谷歌在Youtube添加了代码以故意破坏Edge浏览器的兼容性,I系统之家早些时候报道,对此谷歌表示否认,称YouTube空白div只是为了修复一些bug。谷歌有没有撒谎呢?有IT之家网友投稿,一位视频工程师(曾编写过一个完整的视频播放器)似乎站在谷歌这边。


这名开发者名为Jeremy Noring,在看过最近有关Youtube代码破坏Edge视频渲染性能的新闻后,发文声称,他也写过这样的代码,目的只为解决IE浏览器上无法用键盘控制视频的bug。值得一提的是,该开发者的文章(原文)发布早于谷歌的声明。
 

该开发者在文章中称,在2015年8月的时候,为了修复IE浏览器上的一个按键bug:当视频本身被用户选中后,IE会“窃取”所有的按键事件(totally steal *everything*),并做一些“鸡贼”的处理(do hideous things),影响到代码其他部分的逻辑,导致无法用键盘来控制视频播放。一个最简便的解决方法就是在上面覆盖一个完全透明的div,让用户绝对无法选中视频标签本身,这样既不影响鼠标操作,键盘操作也正常了。(译注:视频本身是video标签播放,上面覆盖透明div,然后播放按钮通过z-index设置覆盖在透明div之上,这样可以用鼠标点击按钮操作,同时触发正确的键盘按键事件)
 

他猜测,谷歌的工程师为了让Youtube视频可以在各种浏览器正常用键盘操作,发现了IE的bug,然后刚好用了这个最简单的解决方法。该开发者还称,将一个HTML元素放在视频元素之上没有任何问题,在视频元素的顶部放置一个空白div,或者几乎任何其他元素都是100%合法的。
 

他同时批评这名Edge浏览器工程师,称Edge的视频渲染引擎根本称不上“相当先进(state-of-the-art)”,因为它连上面覆盖一个透明的div都搞不定。而且,为什么一个浏览器市场份额占比这么大的公司,要去费尽心思搞死一个市场占有率零头的浏览器?
 

文章最后作者提到,“现在的浏览器一家独大,但好像程序员们都集体忘记了一家独大是有原因的。”并言辞激烈地表示,“如果你们不想这样,麻烦不要写个那么傻*的浏览器出来(Don't want a monoculture? Start making a browser that doesn't suck shit.)”。
 

微软没有对其工程师的说法进行评论,微软只是称,“谷歌一直是一个非常好的合作伙伴。”微软已经宣布Edge浏览器放弃EdgeHTML浏览器引擎,转投使用谷歌的开源项目Chromium引擎。