问题标签 [polyfills]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
205 浏览

internet-explorer-8 - Webshims Lib - IE8 的媒体查询

我正在尝试使用 Webshims Lib 让媒体查询在 IE8 中工作。我已经按照设置说明加载了默认的(所有)polyfill,但它似乎不起作用。

我仍然应该明确包含 html5shiv 吗?我以为 Webshims Lib 会处理它?

干杯。

0 投票
0 回答
735 浏览

jquery - IE7 和 8 中的白页 - Webshims / Polyfill 问题

我刚刚使用 Twitter Bootstrap 和 Wordpress 完成了一个小型 Web 项目,但不幸的是 Internet Explorer 存在一些问题。Opera、Safari 和 Chrome 无错误地显示页面。

在 IE10 和 IE9 中一切看起来都不错,但 IE8 和 IE7 只显示一个白页。我已经进行了谷歌搜索以找到解决“白屏死机”(WSOD)的方法,但我很失望。

我还对页面本身进行了一些调试。通过这种方式,我发现 HTML5 表单的 polyfill 导致了问题。为此,我正在使用Webshims。在页面上它声明了 IE6+ 兼容性,但正如您所见,情况并非如此,这很奇怪。

所以我查看了 FireBug 控制台,看看是否有任何 JavaScript 错误。没有任何错误,但有一个警告,位于导致问题的脚本中:

Call webshims.polyfill before DOM-Ready or set waitReady to false.

所以我查看了文档并设置waitReady为,false因为我在页面底部加载了脚本。结果,警告消失了——但 IE8 和 IE7 仍然只显示一个白页!作为测试,我再次删除了对脚本的调用,该页面在 IE8 和 7 中工作。一旦我再次添加调用 - 白页。

经过几个小时的困惑,我想到了一件事:默认情况下,Wordpress 中的 jQuery 以无冲突模式运行,这意味着$("#something)您必须编写jQuery("#something"). 我的想法是这可能会导致一些问题,所以我停用了无冲突模式。仍然:什么都没有,白页。

我没有更多的想法可能导致问题,所以我问你:你遇到过这个问题吗?您有任何解决方案或解决方案的想法吗?

非常感谢任何输入!

0 投票
1 回答
4884 浏览

javascript - 什么 javascript fallback 最能模拟 html5 表单验证

我已经构建了一个使用 html5 验证表单客户端的应用程序。我正在寻找最能在旧浏览器中模拟这种行为的 javascript 实现。

重要的品质是:

  • 尽可能相似的行为。
  • 尽可能少修改css/html
  • 除了内置的字段验证之外,功能尽可能少
0 投票
2 回答
3223 浏览

javascript - 是否有任何 javascript 代码(polyfill)可以启用 Flexbox(2012,css3),例如modernizr?

我正在寻找任何像modernizr(实际上没有)为“旧浏览器”(polyfill)启用flexbox的javascript库。

是的,我知道这是一个非常新的功能(事实上“没有”是一个有效的答案),但我希望有这样的东西,我总是很难水平+垂直居中,这真的会有所帮助并缩短工作。

我的意思是这个 flexbox:http ://weblog.bocoup.com/dive-into-flexbox/ (最新的)

0 投票
2 回答
3517 浏览

html - Modernizr - 加载 polyfills/使用自定义检测的正确方法

我想在网页上使用一些新的 HTML5 表单属性和输入类型。有些浏览器已经支持它们,有些则不支持,也永远不会。这就是我想使用 Modernizr 的原因——这就是我的麻烦开始了。

据我了解,Modernizr 本身并不是一个 polyfill,而是一个可以测试浏览器是否能够处理一些新的 HTML5 / CSS3 内容的脚本。如有必要,可以加载“模拟”这些功能的 polyfill,以便在不支持/较旧的浏览器中使用它们。我猜这是正确的吗?

关于测试/加载:使用 Modernizr 加载 polyfill 的正确或最佳方法是什么?
在文档中我发现了这个:

但有些页面也这样做:

另外,我如何真正了解这些功能检测是如何被调用的?Modernizr.geolocation每个特征检测肯定存在类似的东西?

在 Modernizr GitHub 存储库中,也有许多用户贡献的功能检测。如何将这些实现到我的 Modernizr 版本中?还是最好只使用他们的构建器?

在 Safari 中,HTML5 表单验证有效,但没有用于显示错误消息的 UI。基本上,该功能只实现了一半。这就是为什么 Modernizr 在 Safari 中给出误报的原因,就像这里已经提到的那样:https ://github.com/Modernizr/Modernizr/issues/266 显然有人用这样的自定义测试解决了这个问题,但我仍然不明白如何使用它。1

0 投票
0 回答
179 浏览

css - JS实现CSS网格模板布局的媒体查询支持

W3C 有一个工作草案来介绍 HTML 页面的高级布局机制。我发现了两个 JavaScript 实现,它们在现代浏览器中为本草案的基础提供了支持:

有谁知道这些或其他实现是否包括通过媒体查询调整布局的支持?

0 投票
2 回答
2000 浏览

css - 是否有用作 CSS 背景的 SVG 的 polyfill?

我想使用 SVG 而不必每次都创建 PNG 后备。这个问题的简单解决方案是什么?我看过这些项目,但不知道他们是否支持它:

http://sie.sourceforge.jp/

http://code.google.com/p/svgweb/

0 投票
1 回答
415 浏览

jquery-mobile - jQuery Mobile Android 2.x 幻灯片转换支持

jQuery Mobile 不支持 3D 过渡,例如适用于 Android 2.3 及更低版本的幻灯片。有一些 polyfill/widget/plugin/方式让它工作吗?

0 投票
1 回答
962 浏览

javascript - 是否有可靠的跨浏览器方式来使用带有敲除的 polyfill?

我们有一个几乎完全淘汰淘汰的网站,我们需要支持所有主流浏览器,包括回到 IE7(而不是 IE6)的 Internet Explorer。

Chrome 已经支持几乎所有我们真正关心的 HTML 5 功能,Modernizr 像冠军一样处理 CSS hack。但有时我们仍然不得不求助于 polyfill,两个值得注意的例子是placeholder属性和最近的<details>元素。

大多数 polyfill 都是或依赖于 jQuery 插件,这在理论上很好。不幸的是,它们在处理动态加载的内容方面也往往效率低下——您使用淘汰赛(或任何模板引擎,真的)时,这种情况很多。更复杂的事情是我们使用淘汰赛作为真正的 MVVM,所以在一堆 JS hack 中没有合适的地方来重新加载插件(就我们的架构而言,这可能是一件好事,但令人沮丧的是正面)。

DOMNodeInserted我们能够为 Firefox 和 IE9 使用事件(我知道已弃用)提出了一个半可靠的实现。不幸的是,它在 IE8 中不起作用,因为旧版 IE 不支持它,而且在那些浏览器中复制似乎几乎不可能。onreadystatechange一开始似乎很有希望,但该事件往往触发得太早 - 即使readyState已明确检查 - 并且 polyfills 可以说没有达到目标。

我们尝试过的唯一在 IE7/IE8 中真正可靠工作的选项是使用重复超时以每 50 毫秒重新运行一次 polyfill。不幸的是,这也不断消耗整个 CPU,甚至将其提高到 100 毫秒都会导致 UI 延迟太明显,因此不太适合生产使用。

那么:是否有任何可靠的方法可以将传统的 polyfill 技术与动态内容和模板引擎(如 knockoutjs)相结合,至少在 IE7 等主流浏览器中都可以使用?

(FWIW,我们最终确实使用淘汰赛的afterRender绑定管理了一个解决方法,但是这种方法将“poly”从“polyfill”中取出。我希望我们可以写一次然后忘记的东西。)

0 投票
1 回答
27217 浏览

javascript - ie7、ie8 和 ie9 的最佳占位符 polyfil 脚本

您建议我使用哪个占位符 polyfill 脚本在 ie7、8 和 9 中提供占位符支持。

我从现代化团队看到了以下列表,想知道这里是否有人与他们或任何其他不在列表中的人有一些里程,他们认为什么是最好的

我的评估标准是:

  • 文件大小
  • 能够在没有现代化设备/yepnope 的情况下工作
  • 速度(没有疯狂循环)
  • 稳定性,在野外使用多少?
  • 检测原生占位符能力,不打扰运行

我记得有一天我曾经在 onclick 事件中写了一行左右的输入来支持占位符 - 哈哈,但老实说,我懒得支持这些可怕的浏览器(看这个有趣的)。至少 IE10 终于朝着正确的方向前进了。

谢谢...