标签: polyfills

Chart.js 3+、Firefox 68 和 Angular:“ReferenceError:“ResizeObserver 未定义”

我有一个使用Chart.js3+ 的 Angular 应用程序,它需要在 Firefox 68 中运行。

Chart.js3+ResizeObserver在其代码中使用,该特定 Firefox 版本不支持该版本。

因此,当我尝试在 Firefox 中加载图表时,出现以下错误:

ReferenceError:“ResizeObserver 未定义”

在其他浏览器或较新版本的 Firefox 中,它可以正常工作。

经过一些研究,我读到我可以安装一个polyfill ResizeObserver,许多人建议如下: https: //github.com/juggle/resize-observer

因此,我通过键入将其安装在我的项目中npm i @juggle/resize-observer,然后将其添加到polyfill.ts文件中:

import '@juggle/resize-observer';
import 'zone.js/dist/zone'; 
Run Code Online (Sandbox Code Playgroud)

但错误仍然存​​在。我错过了什么吗?

提前致谢。

polyfills chart.js angular

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

Deno:为 Node.js 内置提供 Polyfill

Deno 是否有办法填充/填充 Node.js 模块?

也就是说,假设我有一个属于 Node.js 项目一部分的打字稿文件,它看起来像这样

import { performance } from 'perf_hooks';

function hello() {
  console.log(performance.performance.timeOrigin)
  console.log("Hello World")
}

export {
  hello
}
Run Code Online (Sandbox Code Playgroud)

我想在 deno 程序中使用这个模块,所以我做了这样的事情

import {hello} from './some-module.ts'

function main() {
  hello()
}
Run Code Online (Sandbox Code Playgroud)

但是,我不能这样做,因为 Deno 中没有perf_hooks模块。

% deno run main.ts 
Check file:///private/tmp/main.ts
error: TS2305 [ERROR]: Module '"deno:///none.d.ts"' has no exported member 'performance'.
import { performance } from 'perf_hooks';
         ~~~~~~~~~~~
    at file:///private/tmp/some-module.ts:1:10
Run Code Online (Sandbox Code Playgroud)

我想编写我自己的版本perf_hooks来实现我需要的属性和方法,然后告诉 Deno Hey - 每当有人想要perf_hook使用我的模块时

Deno 有内置的东西可以让我做到这一点吗?如果没有,Deno 社区是否使用一些常见的实践/捆绑技术来完成此类事情。

javascript polymorphism polyfills deno

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

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

使用requirejs预加载polyfill库

我正在创建一个wirejs应用程序requirejs.对于IE 8,我使用polyfills:cujo/polyjs库并要求在加载之前预先加载此lib wirejs.

如果我用作curlAMD加载器,根据文档,我有以下选项:

curl({ preloads: [ "poly" ] });
Run Code Online (Sandbox Code Playgroud)

对我有用的是:

// in index.html

<script data-main="js/app" src="js/lib/require.js"></script>

// in js/app.js

define(function(){
   // set configuration options
   requirejs.config({// set config with paths});

   // require the library and HOPE it will load before
   // everything else!
   require(['poly']);

});
Run Code Online (Sandbox Code Playgroud)

本文档建议使用shimconfig来实现此目的.但是,我还没弄清楚如何.我试过的一些事情:

// DID NOT WORK!!
requirejs.config({

....
"shim": {
   "poly": {
     "exports": "poly"
    }
 }
});
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解决这个问题?

任何帮助表示赞赏!...感谢您的时间!

requirejs polyfills wirejs

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

使用 CSS 的“revert”关键字

所以我一直在尝试研究一些隐藏和显示元素的类。当一个元素应该显示时,它应该从display:none;display: whatever-it-was-before;。在研究如何做到这一点时,我偶然发现了看似完美的解决方案:CSS 的revert. 不幸的是,级联和继承级别 4 距离支持还有很长的路要走,而且 Windows 上的任何主要浏览器似乎都没有实现此功能。

为了说明我正在尝试做的事情,这里有一些 CSS:

.article-card {
    display: flex;
}
._showdesktop {
    display: none !important;
}
@media screen and (min-width: 1024px) {
    ._showdesktop {
        display: revert !important;
    }
}
Run Code Online (Sandbox Code Playgroud)

以及一些随附的 HTML:

<div class="article-card _showdesktop">
    ...
</div>
Run Code Online (Sandbox Code Playgroud)

这个想法是拥有可以在任何元素上使用的通用类,而不会覆盖元素的预期 CSS。这将使我要显示和隐藏的元素是display:flex;display:block;display:inline-block;,或display:inline;都具有相同的组类。

所以,我有两个问题:

  1. 是否有任何 polyfill 用于此?我尝试四处搜索,但不幸的是,由于版本控制系统,术语“revert”和“polyfill”经常一起出现。
  2. 有没有其他方法可以用 CSS 做到这一点?我正在考虑使用visibility:hidden;,因为我几乎从不visibility在我的项目中使用该属性,但这不会从流程中删除元素,而且我想不出任何不会与其他代码冲突的方法来删除它.

https://drafts.c​​sswg.org/css-cascade/#default


更新:下面标记的答案和我现在要得到的一样好,但我想用我最终使用的代码更新这个问题。我不确定这会有多好,考虑到我经常使用 max-height,但希望它不会经常发生冲突:

._hidemobile,
._showtablet,
._showdesktop {
    max-height: 0 !important;
    visibility: …
Run Code Online (Sandbox Code Playgroud)

javascript css polyfills css-cascade

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

AngularJS 4可以在IE9上运行吗?

我正在编写一个小应用程序来定位一些旧的浏览器,但我很乐意在Angular 4中编写它.它可能吗?我需要哪种polyfils?

javascript polyfills angular

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

Angular 6.x 在 IE 11 中不起作用 - 错误:参数无效

我有一个在 Chrome 中完美运行的 Angular 6.x 应用程序。问题是尝试在 IE 11 中运行它时,出现错误:

错误:无效的参数。在 DefaultDomRenderer2.prototype.setProperty...

在此处输入图片说明

已经在 StackOverflow 中尝试了我在没有帮助的情况下找到的所有答案。我在这里列出主题,所以你们不会尝试将它们作为答案:

感谢您的帮助。

internet-explorer polyfills internet-explorer-11 angular angular6

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

带有聚合物纸张元素的最简单的HTML页面

如何创建使用Polymer Paper Elements的最简单的html页面?

我想有一个单独的html文件,从其他地方加载所有需要的库(CDN).例:

<!DOCTYPE html>
<html>
  <head>
    <title>Polymer Test</title>
  </head>
  <body>
    <paper-button>hello world paper button</paper-button>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,因为<paper-button>浏览器不知道.那么我需要包括什么才能使它适用于所有当前的浏览器?

是否可以自己下载任何库并且不得不将它们放在我的html文件旁边的web服务器上?

web-component polyfills polymer

0
推荐指数
1
解决办法
884
查看次数