如果我在ionic 2
,Chrome
,iphone5
或iphone6
上使用ipad
,我发现我的iPad pro
出现此错误:
kernel.js:281未捕获的TypeError:无法读取null的属性“1”
显然受到这条线的影响:
...
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
时,我的客户就不会咆哮。
我该如何解决这个问题?
kernel.js
?我调查node_modules
,搜索太大了。我想尝试删除它,看看它是否给我发问题。答案 0 :(得分:0)
如果没有匹配项,JavaScript String.match()
函数将返回null,因此在您的情况下,如果useragent不是FireFox。 Android上除Chrome或FireFox之外的浏览器也应出现相同的错误。你需要检查一下。
修改强>: iOS上的Chrome未标记为&#39; Chrome&#39;在导航器中,但作为&#39; CriOS&#39;。请参阅:https://developer.chrome.com/multidevice/user-agent