【问题标题】:TypeError: e.fixers is undefined error for prefixfree on dynamically loaded iframesTypeError: e.fixers 是动态加载的 iframe 上无前缀的未定义错误
【发布时间】:2015-01-24 19:06:53
【问题描述】:

我正在动态加载一个 iframe,其中包含一些要在其中执行的代码——它是一个代码游乐场,下面有 codemirror 实例。在 iframe 内部执行的代码之一是 prefixfree.min.js from Lea Verou

在加载/卸载 iframe 时出现以下错误:

TypeError: i is null


...;u(s)&&t.indexOf(s)===-1&&t.push(s)}}},u=function(e){return StyleFix.camelCase(e...


prefixfree.min.js (line 5, col 3756)
TypeError: e.fixers is undefined


...,0,t)},fix:function(t,n,r){for(var i=0;i<e.fixers.length;i++)t=e.fixers[i](t,n,r...

这个错误是什么意思?

【问题讨论】:

  • 你可以从使用非压缩版本的 prefixfree 开始。这样你会得到更容易理解的错误信息;代码可能有 cmets;变量将有更多有用的名称;并且通过正确的行号,您将能够设置断点。 (当然,一旦你让它实时运行,就改回最小化 - 脚本会加载得更快。)
  • 不幸的是,cdnjs 不提供未压缩的 prefixfree [1] 版本,并且当我在服务器或本地使用前缀时不会出现此错误。 [1]cdnjs.com/libraries/prefixfree

标签: javascript html vendor-prefix prefixfree


【解决方案1】:

如果您使用的是未缩小的版本,那么您会得到一个错误报告,说明变量 self.fixer 是否未定义。

所以它需要在执行任何代码之前检查该变量是否已定义。

我拉了一个请求here

如果您不需要使用cdnjs,则可以下载this un-minified prefixfree,然后将其加载到您的应用程序中或先将其缩小。

【讨论】:

  • 之前未经编辑的答案不是更详细吗?
  • 有时间会试一试的。
猜你喜欢
  • 1970-01-01
  • 2021-07-04
  • 2014-06-24
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-13
  • 1970-01-01
  • 2019-02-27
相关资源
最近更新 更多