代码之家  ›  专栏  ›  技术社区  ›  Alex Gelinas

Angular应用程序未加载到Android浏览器上

  •  1
  • Alex Gelinas  · 技术社区  · 7 年前

    安卓 :Chrome、Firefox、Adblock浏览器; :股票浏览器、Firefox、Chrome)。不幸的是,我们发现它是 在多个人的Android浏览器中加载(我个人在DuOS 5.1.1和Browserstack上的几个不同设备上进行了测试)。

    在浏览之前的回复时,我采纳了一些人的建议,并补充道 core-js require('core-js') 给我们 routes.js 文件(带有 <script src="node_modules/core-js/client/shim.min.js"></script> 在我们的 ); 但这似乎没有任何影响。

    我想知道是否有人对我应该尝试的其他事情有任何建议。我可以发布人们认为相关的代码的任何部分;但这是一个相当大的项目(数千条线路)

    Screenshot
    在左边,我在用手机。在右侧,不在模拟设备上工作。

    非常感谢!!

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alex Gelinas    7 年前

    下面是我们用来执行此操作的代码:

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