Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么浏览器前缀是必要的,来自浏览器创建者';s的观点_Javascript_Css_Google Chrome_Browser - Fatal编程技术网

Javascript 为什么浏览器前缀是必要的,来自浏览器创建者';s的观点

Javascript 为什么浏览器前缀是必要的,来自浏览器创建者';s的观点,javascript,css,google-chrome,browser,Javascript,Css,Google Chrome,Browser,有很多工具可以解决浏览器前缀的问题,比如为麻烦的属性进行IDE自动扩展,或者使用预编译器进行混音,但为什么浏览器制造商需要实现前缀呢。据我所知,这是为了让他们能够实现他们自己的实现,但是是什么阻止他们在没有前缀的情况下这样做呢。现在,尤其是几乎所有的浏览器都试图遵循W3规范,所以我怀疑Safari是否会在元素中画出彩虹,比如说框影 让他们的“解决方案”尽管可能有点缺陷或缺乏功能,但不加以修改不是更好吗?因此,当他们实际推出满足所有标准的工作版本时,使用这种JavaScript属性风格编写的站点可

有很多工具可以解决浏览器前缀的问题,比如为麻烦的属性进行IDE自动扩展,或者使用预编译器进行混音,但为什么浏览器制造商需要实现前缀呢。据我所知,这是为了让他们能够实现他们自己的实现,但是是什么阻止他们在没有前缀的情况下这样做呢。现在,尤其是几乎所有的浏览器都试图遵循W3规范,所以我怀疑Safari是否会在元素中画出彩虹,比如说框影


让他们的“解决方案”尽管可能有点缺陷或缺乏功能,但不加以修改不是更好吗?因此,当他们实际推出满足所有标准的工作版本时,使用这种JavaScript属性风格编写的站点可以按预期运行?我真的不明白为什么每个人都认为实现它们是一个好主意。

这个想法是,想要在本地“尝试”这些实验性功能的作者可以使用附带前缀的浏览器属性,而不必处理夜间构建,甚至手动下载和编译源代码,因为运送错误行为就像运送测试版软件作为产品质量

供应商没有看到的是,作者会将前缀属性放在生产站点上,并鼓励其他作者也这样做。结果,前缀像野火一样蔓延到这样一个地步:供应商害怕在按照最初的意图交付稳定、不固定的实现之后删除前缀,从而破坏站点。我的意思是,看看,一个前缀属性,与不到4年前的
-webkit-
属性相比,它的使用相对较少。从长远来看,
-moz opacity
在Firefox0.9中是前所未有的,几乎12年前

这场惨败的另一个不幸结果是什么?Opera、Microsoft,最后是Mozilla,都不情愿地改变了CSS实现,以识别
-webkit-
前缀,因为webkit几乎进入了每一个移动设备和每一个利基浏览器,而作者们的印象是webkit是一个真正的布局引擎™, 所以他们为WebKit编码,而不是其他。显然,我们还没有从IE/Netscape浏览器战争中吸取教训


这就是为什么供应商同意不再在即将到来的标准的实验性实现中使用前缀的原因。新的CSS功能将不固定,但默认情况下不可用。例如,Firefox将这些功能隐藏在特殊的about:config选项后面,并在以后默认情况下将其打开,而Chrome则以类似的方式将它们隐藏在about:flags中。

当浏览器供应商有想法并希望实现它时,会使用前缀功能,在它成为WHATG/W3规范之前。那么在它成为规范的一部分之前,盒大小是由Chrome和Firefox实现的?“名称空间”属性的意义是什么?如果它没有在其他浏览器中实现,那么实际上不会在其他浏览器中产生任何影响。虽然这只是一个想法,但在其他浏览器中的实现方式会有所不同。当你使用它的时候,你不想让它对他们有任何影响。和的一些信息(尽管本文需要一些工作)。那么,像它中的大多数东西一样,它是偶然开始的?哈。谢谢你完整的回答。