Jit*_*yas 372 javascript html5 fallback shim polyfills
HTML5中polyfills的含义是什么?我在许多网站上看到过关于HTML5的这个词,例如HTML5-Cross-Browser-Polyfills.
所以我们在这里收集所有垫片,后备和polyfill,以便在本身不支持它们的浏览器中植入HTML5功能.
我其实不明白polyfills是什么意思.
它是一种新的HTML5技术还是JavaScript库?我从来没有在HTML5之前听过这个词.
垫片,后备和填充物之间有什么区别?
Cal*_*dge 365
polyfill是一种浏览器后备,由JavaScript构建,允许您希望在现代浏览器中工作的功能在旧版浏览器中工作,例如,支持旧版浏览器中的canvas(HTML5功能).
它是一种HTML5技术,因为它与HTML5结合使用,但它不是HTML5的一部分,你可以在没有HTML5的情况下使用polyfill(例如,支持你想要的CSS3技术).
这是一篇好文章:
http://remysharp.com/2010/10/08/what-is-a-polyfill/
以下是Polyfill和Shims的完整列表:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
小智 63
首先让我们澄清一下polyfil不是什么:polyfill不是HTML5标准的一部分.即使您经常在这些上下文中看到polyfill被引用,但polyfill也不限于Javascript.
术语"polyfill"本身指的是一些代码,"允许您在当前或"现代"浏览器中使用某些特定功能,以便在其他不支持内置功能的浏览器中工作."
这里的polyfill的来源和例子:
http://www.programmerinterview.com/index.php/html5/html5-polyfill/
Ric*_*erd 14
polyfill是一种垫片,它通过调用垫片来替换原始调用.
例如,假设您要使用navigator.mediaDevices对象,但并非所有浏览器都支持此对象.您可以想象一个提供垫片的库,您可以像这样使用:
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您显式调用填充程序而不是使用原始对象或方法.另一方面,polyfill替换原始对象上的对象和方法.
例如:
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
Run Code Online (Sandbox Code Playgroud)
在您的代码中,它看起来好像您正在使用标准的navigator.mediaDevices对象.但实际上,polyfill(示例中的adapter.js)已将此对象替换为自己的对象.
它取而代之的是一个垫片.这将检测该功能是否是本机支持的,如果是,则使用它,如果不是,它将使用其他API解决它.
因此,polyfill是一种"透明"的垫片.这就是Remy Sharp(创造这个术语)的意思,当说" 如果你删除了polyfill脚本,你的代码将继续工作,尽管polyfill被删除,但不需要任何改变 ".
| 归档时间: |
|
| 查看次数: |
135483 次 |
| 最近记录: |