2017-04-21 94 views
1

的我发现我的ionic 2如果我使用运行在iphone5Chromeiphone6ipadiPad pro有这样的错误:离子2 - 遗漏的类型错误:无法读取属性“1”空

kernel.js:281 Uncaught TypeError: Cannot read property '1' of null

这显然是由追猎这条线:

... 
ver: (navigator.appVersion.match('Chrome/([0-9\.]+)') || 

navigator.userAgent.match('Firefox/([0-9\.]+)'))[1],///<---[1] is the issue 
... 

我用Google搜索和阅读一些关于这一点,现在看来似乎是因为[1]的。 this post建议删除[1]。但我不确定kernel.js在哪里。

这不是一个问题,因为我只部署到Android(奇怪的是,即使是在模拟没有问题。只有在所有ios无论是模拟或设备)。但我认为解决这个问题更好一些,以便我的客户在决定部署到ios时不会咆哮。

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

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

回答

0

如果没有匹配,JavaScript String.match()函数将返回null,因此在您的情况下,如果useragent不是FireFox。除Chrome或FireFox之外的其他浏览器也会出现相同的错误。你需要检查一下。

编辑: iOS上的Chrome未在导航器中标记为“Chrome”,而是标记为“CriOS”。参见:https://developer.chrome.com/multidevice/user-agent

相关问题