我只想知道,我的Ionic 5应用程序是在浏览器中运行还是在编译的应用程序的Web视图中运行。
平台无法工作:
它只告诉有关设备的信息。但是当我在Android设备上的chrome中运行它时,它返回与编译后运行时相同的平台。
分析URL以检查Webview URL是否有效,但使用电容器实时重新加载时不起作用。因为那时它与本地浏览器中的URL相同。顺便说一下,分析URL感觉像是一个丑陋的解决方案。
难道真的很难获得这个简单而重要的信息,还是我错过了什么?
分析URL以检查Webview URL是否有效,但使用电容器实时重新加载时不起作用。因为那时它与本地浏览器中的URL相同。顺便说一下,分析URL感觉像是一个丑陋的解决方案。
难道真的很难获得这个简单而重要的信息,还是我错过了什么?
编辑:
平台输出
在Ubuntu上使用ionic serve的Chrome: ["desktop"]
在Android上的Chrome: ["android", "mobile", "mobileweb"]
使用电容器实时重新加载的Android: ["android", "phablet", "mobile", "mobileweb"]
编译的Android: ["android", "phablet", "cordova", "capacitor", "mobile", "hybrid"]
platforms()
方法(https://ionicframework.com/docs/angular/platform#platforms-string-)的结果呢?该方法返回一个平台列表,因此查看是否有任何差异(或Ionic中是否存在错误)将非常有用。 - sebaferrerasconst isBrowser = platform.is('mobileweb') || platform.is('desktop')
,这应该可以工作,对吧?这样你就知道应用程序是在本地运行还是在浏览器中运行。 - sebaferrerasionic capacitor run
将执行以下操作:执行ionic build(或使用--livereload选项从ionic serve运行dev服务器)*。因此,实时重新加载标志只会在设备上运行dev服务器。说实话,我并不经常使用它,但我想当处理iOS和顶部/底部安全区域插图时,它可能很有用。您能否尝试在使用livereload时调用本机插件,看看会发生什么? - sebaferreras