2017-07-17 54 views
1

我正在使用Angular(1)構建的項目,並且可以確認它在兩個Dev &我的所有桌面瀏覽器以及移動設備的生產環境中均可用( Android:Chrome,Firefox,Adblock瀏覽器; iOS:Stock Browser,Firefox,Chrome)。不幸的是,我們發現它是而不是在多個人的股票中加載Android瀏覽器(我親自在DuOS 5.1.1以及Browserstack上的幾個不同設備上進行了測試)。Angular App未加載Android Android瀏覽器

在通過前面的反應看這裏的話,我已經採取了一些人們的建議,(在我們的的index.html<script src="node_modules/core-js/client/shim.min.js"></script>)與require('core-js')加入core-js我們 routes.js文件;但這似乎沒有任何影響。

我想知道如果有人有任何建議,我應該嘗試更多的東西。我可以發佈人們認爲相關的代碼的任何部分;但它是一個相當大的項目(千行)

Screenshot
在左邊,我的手機上運行。在右側,不在仿真設備上工作。

非常感謝!

回答

0

Polyfills無法正常工作,所以最終我們決定檢測用戶是否在Stock Android瀏覽器中 - 如果他們將它們帶到了一個頁面,建議他們使用Firefox,Chrome等來使用該網站/應用程序。

這裏是我們用來做這樣的代碼:

var navU = navigator.userAgent; 
    // Android Mobile 
    var isAndroidMobile = navU.indexOf('Android') > -1 && navU.indexOf('Mozilla/5.0') > -1 && navU.indexOf('AppleWebKit') > -1; 
    // Apple webkit 
    var regExAppleWebKit = new RegExp(/AppleWebKit\/([\d.]+)/); 
    var resultAppleWebKitRegEx = regExAppleWebKit.exec(navU); 
    var appleWebKitVersion = (resultAppleWebKitRegEx === null ? null : parseFloat(regExAppleWebKit.exec(navU)[1])); 
    // Chrome 
    var regExChrome = new RegExp(/Chrome\/([\d.]+)/); 
    var resultChromeRegEx = regExChrome.exec(navU); 
    var chromeVersion = (resultChromeRegEx === null ? null : parseFloat(regExChrome.exec(navU)[1])); 
    // Native Android Browser 
    var isAndroidBrowser = isAndroidMobile && (appleWebKitVersion !== null && appleWebKitVersion <= 537) || (chromeVersion !== null && chromeVersion <= 38); 

    //If isAndroidBrowser, redirect 
    if(isAndroidBrowser){ 
     window.location = "/views/compatibility/compatibility.html"; 
    } 
相關問題