如何在IE11中发现损坏的html / javascript?



我正在尝试使用polyfill使服务器端Blazer在IE11中工作: https://github.com/Daddoon/Blazor.Polyfill

我的示例 Blazor 应用只是冻结。 我在调试窗口中看不到任何消息。 我假设我创建的组件库有问题。 我意识到 polyfill 特定于 Blazor 基础结构。 这里有一个例子,如果你使用IE11,它应该加载刚刚提到的polyfill:https://blazorfabric.azurewebsites.net/

但是,我不知道如何发现IE11上不允许使用哪个API或哪个html元素。 是否有扫描代码以查找IE11潜在问题的工具? 是否有一些巨大的填充物可以(暂时(添加,最有可能使其工作?

编辑 1/22/20因此,通过纯粹的猜测(随机选择一个东西,并通过 caniuse.com 查看 IE11 是否不支持它(,我发现自定义 css 属性在 IE11 上不起作用。 解决此问题的填充代码是:https://github.com/nuxodin/ie11CustomProperties

该页面现在加载并排序工作。 我真的无法让开发人员控制台做很多事情,但页面确实响应并且看起来(大部分(不错。

这仍然没有回答这个问题。 如果调试器未在代码行上引发异常,则不清楚该怎么做。

我不是很确定,但看到您的项目代码似乎那里有 WASM(基于您的依赖项(。 如果是这种情况,IE11 根本不支持 WASM(https://caniuse.com/#feat=wasm(。我在某处读到有关 WASM polyfill 的信息,但我确定这不是一个好主意。

编辑

许多不受支持的功能会在这里或那里触发错误,但不会触发 javascript 捕获的异常。如何检测此案例中的问题。

  • 在JS功能的情况下,有时窗口对象或其他标准对象上存在某些属性,某些函数或操作是允许的......
  • 对于其他非 js 功能,请尝试检测该功能的间接结果(或缺少结果(。例如:尝试捕获关联的事件,或尝试检测某些元素的 dom 位置,或尝试通过该功能检测某些 css 更改属性......每个案例都是完全不同的场景。
  • 对于没有其他选项负责的最极端情况,从 window.navigator.userAgent 或 window.navigator 对象中的其他属性检测浏览器版本。但是,这不是100%负责任的方法,并且可能会诱使您误报或假阴性。

希望这有帮助!

最新更新