簡體   English   中英

RegExp 未捕獲 TypeError:無法讀取 null 的屬性“1”

[英]RegExp uncaught TypeError: Cannot read property '1' of null

我找到了這個代碼;

navigator.appVersion.match(/MSIE ([\\d.]+)/)[1];

用於檢測瀏覽器版本。 此代碼適用於下面的 IE 8,但不適用於谷歌瀏覽器。 谷歌瀏覽器中的錯誤說;

Uncaught TypeError: Cannot read property '1' of null

它指向此代碼所屬的行;

navigator.appVersion.match(/MSIE ([\\d.]+)/)[1];

知道如何解決這個問題嗎?


只是為了弄清楚我在這里要完成的是檢測瀏覽器版本:

var version = navigator.appVersion.match(/MSIE ([\d.]+)/)[1];

if(version <= 8.0)

{
   execute code;
}

在 IE 中一切正常,但在 google chrome 中出現錯誤,即:

未捕獲的類型錯誤:無法讀取 null 的屬性“1”

它指向此代碼所屬的行;

navigator.appVersion.match(/MSIE ([\\d.]+)/)[1];

如果 regexp 沒有找到任何東西, match 可以返回null 因此,您必須首先獲得匹配項並檢查您是否匹配。 嘗試這個:

var ieMatches = navigator.appVersion.match(/MSIE ([\d.]+)/);
var isIE = !!ieMatches[1];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM