离子 2 - 未捕获的类型错误:无法读取 null 的属性"1"



如果我使用Chromeiphone5iphone6ipadiPad pro上运行,我注意到我的ionic 2会出现此错误:

内核.js:281 未捕获的类型错误:无法读取 null 的属性"1">

这显然是这样说的:

...
ver: (navigator.appVersion.match('Chrome/([0-9.]+)') || 
navigator.userAgent.match('Firefox/([0-9.]+)'))[1],///<---[1] is the issue
...

我用谷歌搜索并阅读了一些关于这个的信息,似乎是因为[1]. 这篇文章建议删除[1].但我不确定kernel.js在哪里。

现在这不是问题,因为我只部署到Android(奇怪的是,即使在模拟中也没有问题,只有在所有ios上,无论是模拟还是设备)。但我认为最好解决它,这样我的客户在决定部署到ios时就不会对我咆哮。

我应该如何解决这个问题?

  1. 在哪里可以找到kernel.js?我查看node_modules,它太大了,无法搜索。我想尝试删除它,看看它是否会给我带来问题。

如果没有匹配项,JavaScriptString.match()函数将返回 null,因此在您的情况下,如果用户代理不是 FireFox。同样的错误也应该发生在Android上的Chrome或FireFox以外的浏览器上。您将需要检查这一点。

编辑: iOS 上的 Chrome 在导航器中没有标记为"Chrome",而是标记为"CriOS"。请参阅:https://developer.chrome.com/multidevice/user-agent

相关内容

  • 没有找到相关文章

最新更新