【问题标题】:ionic 2 - Uncaught TypeError: Cannot read property '1' of nullionic 2 - 未捕获的类型错误:无法读取 null 的属性“1”
【发布时间】:2017-04-21 06:43:54
【问题描述】:

如果我在iphone5iphone6ipadiPad pro 上运行Chrome,我注意到我的ionic 2 出现此错误:

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
...

我用谷歌搜索并阅读了一些关于此的内容,似乎是因为[1]this post 建议删除[1]。但我不确定kernel.js 在哪里。

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

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

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

【问题讨论】:

    标签: javascript ionic2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2022-01-19
      • 2021-12-01
      相关资源
      最近更新 更多