gpt4 book ai didi

javascript - Angular 应用程序无法在原生 Android 浏览器上加载

转载 作者:行者123 更新时间:2023-11-28 04:24:49 28 4
gpt4 key购买 nike

我正在开发一个用 Angular (1) 构建的项目,并且可以确认它可以在我所有桌面浏览器以及移动浏览器(Android)的开发和生产环境中运行:Chrome、Firefox、Adblock 浏览器;iOS:Stock 浏览器、Firefox、Chrome。不幸的是,我们发现它无法在多个人的现有 Android 浏览器中加载(我亲自在 DuOS 5.1.1 以及 Browserstack 上的几个不同设备上进行了测试)。

在查看之前对 SO 的回复时,我采纳了一些人的建议并添加了 core-jsrequire('core-js')到我们的 routes.js 文件(在我们的 index.html 中使用 <script src="node_modules/core-js/client/shim.min.js"></script>);但这似乎没有任何效果。

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

Screenshot
左边,正在用手机工作。右侧,未在模拟设备上运行。

非常感谢!!

最佳答案

Polyfill 无法正常工作,因此最终我们决定检测用户是否使用 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";
}

关于javascript - Angular 应用程序无法在原生 Android 浏览器上加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45155314/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com