标签: polyfills

PHP 函数在我当前的 PHP 版本中不可用

我想使用函数array_key_first (PHP 7 >= 7.3.0)。

我当前的 PHP 版本是7.2

我使用相应 PHP 手册的“用户贡献注释”部分中描述的“Polyfill”

如果我在 index.php 中调用array_key_first函数(polyfill 所在的位置),一切都会正常。

如果我在PHP自写类中调用array_key_first函数,它不起作用。

如何定义“Polyfills”以便它们“全局”可用?

我不想定义一个类方法并用 $this->array_key_first 调用它...

我在我的 index.php 文件中包含以下代码

    if (!function_exists('array_key_first')) {
        function array_key_first(array $array){
            if (count($array)) {
                reset($array);
                return key($array);
            }
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

感谢您的提示

php polyfills

6
推荐指数
2
解决办法
7831
查看次数

Gatsby / Webpack Polyfill 问题

我正在运行一个 Gatsby3 网站,和许多人一样,当我尝试使用某些 web3 插件时,我遇到了有关缺少 Polyfills 的 Webpack 5 错误。我知道他们不再自动执行这些操作,我必须自己处理它们。

在尝试了我能找到的所有解决方案之后,这个似乎应该可行,但不适合我。我猜我做错了什么/错过了什么。

这是我添加到 Gatsby 配置中的内容,用于处理“crypto”和“stream”缺少的 polyfill:

exports.onCreateWebpackConfig = ({ actions }) => {
  actions.setWebpackConfig({
    resolve: {
      fallback: {
        crypto: require.resolve('crypto-browserify'),
        stream: require.resolve('stream-browserify'),
      },
    },
  })
}
Run Code Online (Sandbox Code Playgroud)

我确实安装了 crypto-browserify 和stream-browserify。

然而,同样的错误仍然存​​在:

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules
by default.
This is no longer the case. Verify if you need this module and configure a
polyfill for it.

If you want to include a polyfill, you …
Run Code Online (Sandbox Code Playgroud)

node.js polyfills webpack gatsby web3js

6
推荐指数
1
解决办法
754
查看次数

Webpack 5+Process未定义由stream-browserify触发

我必须CBOR使用cbor节点模块解码编码数组。

当我启动命令时:

const decodedData = base45.decode(greenpassBody);
const output = pako.inflate(decodedData);
const results = cbor.decodeAllSync(output); // this line
Run Code Online (Sandbox Code Playgroud)

正在触发此错误:

_stream_readable.js:529 Uncaught ReferenceError: process is not defined
    at emitReadable (_stream_readable.js:529)
    at addChunk (_stream_readable.js:303)
    at readableAddChunk (_stream_readable.js:280)
    at NoFilter.Readable.push (_stream_readable.js:241)
    at NoFilter.Transform.push (_stream_transform.js:139)
    at NoFilter._transform (index.js:220)
    at NoFilter.Transform._read (_stream_transform.js:177)
    at NoFilter.Transform._write (_stream_transform.js:164)
    at doWrite (_stream_writable.js:409)
    at writeOrBuffer (_stream_writable.js:398)
Run Code Online (Sandbox Code Playgroud)

stram-browserifypolyfill 触发,需要在我的网络应用程序中使用所有这些包。

当我在网上阅读时,我尝试process在我的 中安装该模块package.json,然后在我的webpack配置文件中我尝试了几种方法:

fallback: {
  stream: require.resolve('stream-browserify'),
  util: require.resolve('util/'),
  zlib: require.resolve('browserify-zlib'),
  assert: …
Run Code Online (Sandbox Code Playgroud)

node.js polyfills cbor webpack-5

6
推荐指数
1
解决办法
9150
查看次数

polyfill.ts 文件可以删除吗?

我的应用程序中有这个polyfill.ts文件,其中包含以下导入语句:

import 'zone.js/dist/zone'; 
import 'core.js';
import 'core-js/modules/es6.map';
import 'regenerator-runtime/runtime';
import 'core-js/es6/reflect';
Run Code Online (Sandbox Code Playgroud)

但在检查控制台日志时,发现在polyfill.js文件中存在未捕获的类型错误(注意:错误出现在polyfill.js文件上,而不是出现在polyfill.ts文件上)

有没有办法不加载这些polyfill 文件?即使这个polyfill.ts文件是自动创建的,是否也可以删除它?

javascript polyfills typescript angular

6
推荐指数
2
解决办法
3006
查看次数

为什么 create-react-app 中的 Babel 不能正确填充 Array.prototype.at ?

我遇到了一个问题并发现它是因为 Babel 没有.at默认填充

根据spec,Array.prototype.at只是第4阶段,我已经将browserslist设置为> 0.2%,其中包括Chrome 86(尚不支持.at)

为什么 Babel 不使用 polyfill .at 呢?

巴别塔游乐场

javascript polyfills babeljs create-react-app core-js

6
推荐指数
1
解决办法
1695
查看次数

是否有任何展示用的填充物:表格,表格行,表格单元格等

我意识到,出于很多目的,显示:table和table-row,table-cell等具有非常有用的定位属性,并且可以用于代替浮动用于很多目的,例如用于制作无浮动菜单,以及更好的对齐页脚.然而,缺乏支持是一种真正的威慑.

我想知道polyfills有哪些选项来模拟显示:table,table-cell,table-row等?

css tablerow css-tables polyfills

5
推荐指数
1
解决办法
2721
查看次数

是否有可靠的跨浏览器方式使用polyfill淘汰?

我们有一个完全由淘汰赛驱动的网站,我们需要支持所有主流浏览器,包括Internet Explorer回到IE7(不是IE6).

Chrome已经支持我们真正关心的几乎所有HTML 5功能,而且Modernizr像Champ一样处理CSS黑客攻击.但有时候我们仍然需要采用polyfill,两个值得注意的例子是placeholder属性,最近是<details>元素.

大多数polyfill是或依赖于jQuery插件,这在理论上是很好的.不幸的是,他们也往往是无效的,在处理动态加载的内容-它有一个,当你使用基因敲除(或任何模板引擎,真的).进一步复杂化的问题是我们使用淘汰赛作为真正的MVVM,所以在一堆JS黑客中没有好的地方可以重新加载插件(就我们的架构而言,这可能是一件好事,但令人沮丧的是面前).

我们能够使用DOMNodeInserted针对Firefox和IE9 的事件(不知道已经弃用)来实现半可靠的实现.不幸的是它在IE8中不起作用,因为传统的IE不支持它,而且似乎在这些浏览器中几乎不可能复制.onreadystatechange起初看起来很有希望但事件往往过早发生 - 即使readyState明确检查 - 并且polyfills错过了他们的目标,可以这么说.

我们尝试过的唯一一个在IE7/IE8中可靠运行的选项是使用重复超时来每50毫秒重新运行polyfill.不幸的是,它也不断地消耗了整个CPU,并且将其提高到甚至100毫秒,导致UI的延迟过于明显,因此不适合生产使用.

那么:是否有任何可靠的方法将传统的polyfill技术与动态内容和模板引擎(如knockoutjs)相结合,哪些适用于每个主流浏览器至少IE7?

(FWIW,我们最终使用knockout的afterRender绑定管理了一个解决方法,但是那种"poly"取出了"polyfill".我希望能找到一些我们可以写一次然后忘掉的东西.)

javascript html5 internet-explorer-7 polyfills knockout.js

5
推荐指数
1
解决办法
886
查看次数

使用polyfill或shim使HTML5沙箱适用于IE8/9

我想让新的HTML5 Iframe属性sandbox在IE8和9中工作.我已经用Google搜索了大约一天并尝试了许多应该使HTML5工作的"库",但它们似乎没有包含"沙盒" .

所以我的问题; 我在哪里可以找到一个polyfill/shim/plugin/snippet或其他任何东西来使iframe sandbox在IE8/9中工作?

javascript jquery html5 sandbox polyfills

5
推荐指数
1
解决办法
1610
查看次数

HTML5 Polyfill和Fallback之间有什么区别?

http://html5please.com中,通过使用Polyfill或Fallback来列出每个功能.我想知道两者有什么不同?请帮助我理解不同的东西.

提前致谢.

html5 fallback polyfills

5
推荐指数
2
解决办法
1342
查看次数

`Object.assign()`polyfill中`Object(target)`的目的是什么?

forObject.assign()MDN页面中,示例polyfillObject()在迭代属性之前首先包装所有源和目标参数.(即Object(target),Object(source1),Object(source2)...).

该文本还提到在返回目标之前将其他属性直接添加到目标.但是,将目标包装Object()在一个对象中的结果不同于简单地扩充属性.(即Object(target).newProp !== target.newProp).

给出的所有示例都将对象作为参数Object.assign().因此,非对象源或目标参数的用例并不清楚.

A)包装参数的目的是什么Object()?(我的印象Object.keys(x)是相同的Object.keys(Object(x))).

B)Object.assign()与非对象一起使用的可能用例是什么?(例如像:Object.assign(1, 'b', [3], true, function(){}))

javascript javascript-objects polyfills ecmascript-6

5
推荐指数
1
解决办法
612
查看次数