Sha*_*lit 26 javascript browser ionic-framework ionic
我用来ionic serve在localhost上运行我的应用程序.
我怎么知道我什么时候在浏览器而不是android?
我试过了:
navigator.platform // MacIntel
navigator.platforms // undefined
ionic.Platform.is('BROWSER') // false
navigator.userAgent // ...iPhone... => i'm in chrome device mode
Run Code Online (Sandbox Code Playgroud)
谢谢!
Mir*_* N. 69
可能有不止一种方法可以做到这一点,但一个简单的方法cordova只能在Android/iOS上定义,所以你可以这样做
if (window.cordova) {
// running on device/emulator
} else {
// running in dev mode
}
Run Code Online (Sandbox Code Playgroud)
某些文本编辑器和TypeScript解析器可能会抱怨Property 'cordova' does not exist on type 'Window'.为了解决这个问题,您可以使用以下命令:
if ((<any>window).cordova) {
// running on device/emulator
} else {
// running in dev mode
}
Run Code Online (Sandbox Code Playgroud)
通过显式转换为类型,any您可以避免转换器错误,并且仍然可以完成您正在尝试执行的操作.
我发现我可以用
ionic.Platform.platforms[0] == "browser"
Run Code Online (Sandbox Code Playgroud)
检查应用程序是否在浏览器中运行.
重要的是,ionic.Platform.platforms只在$ionicPlatform.ready事件被触发后才设置.
检查window.location.hostname是否等于localhost也可以.
if(window.location.hostname === "localhost"){
return 'http://localhost:8100/api/';
} else {
return 'https://some-api.com/';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14713 次 |
| 最近记录: |