2016-01-23 29 views
1

我已經能夠檢測到,如果瀏覽器是IE8,並獲得版出來使用該代碼的用戶代理字符串:檢查11用戶串並獲得版出來代理字符串的

public boolean isValidIE(String strAgent) { 
    if (1==1){ 
     return true; 
    } 
    Pattern pattern = Pattern.compile(".*\\sMSIE\\s(\\d{1,}\\.\\d{1,})[^;]*;.*"); 

    Matcher match = pattern.matcher(strAgent); 
    if(!match.matches()) { 
     return false; 
    } 
    String ver = match.group(1); 
    float version = Float.parseFloat(ver); 
    if(version >= 8) { 
     return true; 
    } 
    return false; 
} 

現在我必須升級這與IE11一起工作,但我想我將不得不添加另一個正則表達式字符串來確定IE11,有沒有什麼辦法可以使用只有一個正則表達式字符串來實現這個需求?

回答

0

我不認爲瀏覽器與用戶代理檢測是一個好主意了。 IE11的行爲更像一個webkit,而不是IE8。

如果您使用特殊的Internet Explorer代碼,則需要重寫它以使用功能檢測代替瀏覽器檢測。

在IE10兼容模式下的IE11不支持IE10(在JavaScript中缺少一些方法)。例如,在這種情況下,您的browserdetection將失敗。