2017-07-17 4 views
1

Ich arbeite an einem Projekt in Angular (1) gebaut, und kann bestätigen, dass es funktioniert sowohl in Dev & Produktionsumgebungen über alle meine Desktop-Browser, sowie meine mobilen (Android: Chrome, Firefox, Adblock-Browser; iOS: Stock Browser, Firefox, Chrome). Leider haben wir festgestellt, dass es nicht Laden in mehreren Personen Android-Browser (ich habe es persönlich getestet in DuOS 5.1.1 und auf ein paar verschiedene Geräte auf Browserstack).Angular App nicht auf Lager Android-Browser

In der Suche durch vorherige Antworten hier auf SO, habe ich einige Völker Anregungen entnommen und core-js mit require('core-js') unsere routes.js-Datei (mit <script src="node_modules/core-js/client/shim.min.js"></script> in unserem index.html); aber das schien keine Wirkung zu haben.

Ich frage mich, ob jemand Vorschläge für zusätzliche Dinge hat, die ich versuchen sollte. Ich kann Teile des Codes posten, von denen die Leute denken, dass sie relevant sind. aber es ist ein ziemlich großes Projekt (Tausende von Zeilen)

Screenshot
Auf der linken Seite auf meinem Handy zu arbeiten. Auf der rechten Seite, funktioniert nicht auf einem emulierten Gerät.

Vielen Dank !!

Antwort

0

Polyfills funktionierten nicht, also entschieden wir uns zu erkennen, ob die Benutzer auf dem Stock Android Browser waren - und wenn sie es waren, brachten sie sie auf eine Seite und empfahlen ihnen Firefox, Chrome usw. zu benutzen/app.

Hier ist der Code, den wir so zu tun pflegten:

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"; 
    } 
Verwandte Themen