标签: polyfills

bikesheding CSS3属性替代?

bikesheddingCSS3属性还有其他选择吗?它似乎还没有得到支持.

css w3c shim css3 polyfills

2
推荐指数
1
解决办法
6388
查看次数

互操作性:Enquire.js不执行Respond.js触发的css媒体查询

好的,所以我使用Respond.js将polyfill用于旧版浏览器上的媒体查询(ie8是最重要的).

与此同时,我正在研究使用Enquire.js,它可以根据媒体查询匹配执行js-code.

孤立地测试这个东西有效:

  • respond.js为IE8正确执行css中定义的媒体查询
  • enquire.js根据匹配css的媒体查询正确执行javascript代码.(适用于非传统浏览器)

然而,组合似乎不起作用.即:

Enquire.js不会根据通过respond.js启用的媒体查询执行javascript(对于旧版浏览器)

由于Respond.js包含Paul Irish的MatchMedia的polyfill(根据:Inquire的文档)应该足以支持遗产,我不确定会出现什么问题.

所以只是要检查:这个组合应该正常吗?

media-queries polyfills enquire.js

2
推荐指数
1
解决办法
1483
查看次数

MDN上的polyfill/shim实现的可靠性如何

我一直在浏览Mozilla开发者网络(MDN)上的polyfill实现,因为我需要其中一些用于库.我知道shim.js存在,但我没有使用它.

似乎polyfill在代码样式方面不一致.几乎看起来它们是由社区以几乎"维基"的方式编写的.

举个例子 String.prototype.contains

if(!('contains' in String.prototype)) {
    String.prototype.contains = function(str, startIndex) {
        return -1 !== String.prototype.indexOf.call(this, str, startIndex);
    }
}
Run Code Online (Sandbox Code Playgroud)

对我来说,实现这一点似乎更合乎逻辑:

if(!String.prototype.contains) {
    String.prototype.contains = function(str, startIndex) {
        return this.indexOf(str, startIndex) !== -1;
    }
}
Run Code Online (Sandbox Code Playgroud)

鉴于JavaScript是一种大小关键的语言(因为网络传输的所有内容应尽可能小),我的示例应该对MDN上的示例有利,因为这样可以节省几个字节.

正如标题所示,我想知道代码在MDN上的可靠性,我是否应该根据需要对其进行修改以尽可能提供真正干净,微小的实现?

javascript mozilla shim polyfills

2
推荐指数
1
解决办法
713
查看次数

Web组件Polyfill无法正常工作

我正在尝试按照https://www.webcomponents.org/polyfills/中的解释来填充web组件,因为我希望我的示例应用程序可以在Chrome和Firefox上运行.但是我得到了ReferenceError:Firefox中没有定义customElements错误.请参阅下面的index.html代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="robots" content="index, follow">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Sample</title>
    <link rel="stylesheet" href="css/site.css">
    <!-- Components -->
    <link rel="import" href="components/global/site-navigation.html">
</head>

<body>
    <script>
        (function () {
            if ('registerElement' in document
                && 'import' in document.createElement('link')
                && 'content' in document.createElement('template')) {
                // platform is good!
            } else {
                // polyfill the platform!
                var e = document.createElement('script');
                e.src = 'js/webcomponents.js';
                document.body.appendChild(e);
            }
        })();
    </script>
    <site-navigation></site-navigation>
</body>    
</html>
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

PS:Chrome中一切正常(有/无填充)

javascript web-component polyfills shadow-dom html-imports

2
推荐指数
1
解决办法
1016
查看次数

如何在Safari浏览器的Angular 4中填充IntersectionObserver?

我热衷于在移动设备上使用此技术,但野生动物园不支持该技术-因此,为什么需要对它进行填充。

我目前<script src="assets/polyfills/intersection-observer.js"></script>在的头部,index.html但这样做后无法加载我的应用。

我正在使用Angular cli,并尝试了polyfill文件无济于事。成功地使它在Angular 4移动设备上运行的人可以帮助我吗?

谢谢

polyfills angular

2
推荐指数
1
解决办法
1523
查看次数

在 webpack 中使用 whatwg-fetch

在它的npm 页面whatwg-fetch说:

导入将自动填充 window.fetch 和相关 API:

import 'whatwg-fetch'

window.fetch(...)
Run Code Online (Sandbox Code Playgroud)

在同一部分的下面它说

要与 webpack 一起使用,请在应用程序入口点之前的入口配置选项中添加此包:

entry: ['whatwg-fetch', ...]
Run Code Online (Sandbox Code Playgroud)

我用webpack.

我应该同时导入它并将其添加为条目,还是条目足够了?

javascript fetch polyfills webpack

2
推荐指数
1
解决办法
2938
查看次数

React Babel polyfill for Object.values()

在我们的项目中我们已经使用了Object.keys()很多Object.values()!由于它是基于 Magento (1) 的,所以我们用 Prototype.js 对其进行了填充(不知道它来自于此)。

然而,我们发现了一些似乎与 Prototype.js 直接相关的性能问题,因此我们希望将其删除。

我不想改变它们使用的每个位置。相反,我想要一个好的polyfill,它只为默认不支持它的浏览器加载。我希望将 polyfill 托管在我们的服务器上,以避免在 CDN 关闭时出现任何奇怪的错误(我们有自己的 CDN 解决方案)。

Babel 的一切都让我感到困惑。Webpack 对我来说也是半新的,有时令人困惑。 webpack.config 的语法似乎发生了变化,因为我们正在使用一些旧的规范。尝试遵循文档并通过谷歌搜索答案会更加令人困惑。我想我们应该更新到新规范。很快的某个时间。

我们今天有相关部分,

webpack.config.js:

const path = require('path');
const webpack = require('webpack');

const BUILD_DIR = path.resolve(__dirname, 'build/');
const APP_DIR = path.resolve(__dirname, 'src/');

module.exports = function config(env, argv = {}) {
  return {
    entry: ['core-js', 'formdata-polyfill', 'whatwg-fetch', `${APP_DIR}/index.js`],
    output: {
      path: BUILD_DIR,
      filename: 'react-frontend.js',
    },
    resolve: {
      extensions: ['.js', '.jsx'],
      modules: [
        path.resolve(__dirname, 'src/'),
        'node_modules',
      ],
      alias: …
Run Code Online (Sandbox Code Playgroud)

javascript polyfills reactjs webpack babeljs

2
推荐指数
1
解决办法
4654
查看次数

IE11 的 URL 填充

我正在使用新的 URL 在我的 angular 应用程序中创建一个 URL,如下所示。这适用于除 IE11 之外的所有浏览器。

所以我尝试将“url-polyfill”添加到我的“package.json”并在 polyfills.ts 文件中使用 import 'url-polyfill' 。

但是我仍然在 IE11 中得到对象不支持此行的操作错误。任何人都可以提供一些关于我在这里做错了什么的想法。

 url = new URL(url).pathname.toLowerCase()
Run Code Online (Sandbox Code Playgroud)

javascript polyfills internet-explorer-11 angular

2
推荐指数
1
解决办法
6166
查看次数

IE11 错误:类型错误:非数组对象必须有 [Symbol.iterator]() 方法

我的应用程序在 Firefox 和 Google Chrome 上运行良好,但不幸的是在 IE 11 或 Edge 上无法运行。我已经安装"react-app-polyfill": "^1.0.6",添加了所有需要的 polyfill,如下所述:

索引.js

import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';
Run Code Online (Sandbox Code Playgroud)

包.json

 "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version",
      "last 1 ie version"
    ]
  }
Run Code Online (Sandbox Code Playgroud)

IE11 上的错误:

TypeError: Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.


_createForOfIteratorHelper
node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js:54


> 54 |   throw new TypeError("Invalid …
Run Code Online (Sandbox Code Playgroud)

polyfills internet-explorer-11 reactjs

2
推荐指数
1
解决办法
3684
查看次数

为什么最小化的 javascript 脚本以相同的顺序使用相同的变量名

来自不同来源的许多函数似乎使用“etnro i”的子集作为变量和参数名称。Jquery 的大部分函数都使用这个。许多 polyfill 脚本使用这些参数。我见过其他脚本使用这些。为什么要以这种特定顺序使用这些特定变量名称?这些脚本是否使用相同的程序最小化?使用它有什么好处吗?

javascript jquery polyfills

2
推荐指数
1
解决办法
41
查看次数