Hug*_*Hou 30 cordova ionic-framework ionic2
我想确保只在我使用设备(iOs,Android ...)时启动inappbrowser,但如果我在浏览器(本地开发模式或只是带有gulp构建的Web应用程序),我想要链接到目标="_空白"的页面.
我正在尝试将Ionic 2代码重用为Web App.所以当我构建应用程序时,它也可以在浏览器桌面上运行.所以platform.ready()对我来说还不够.因为我需要知道用户是否在桌面浏览器上,我可以做一些不同的事情.
小智 57
在这里,您可以使用以下功能代替您的点击功能.
onClickOfButton(){
// Check If Cordova/Mobile
if (this.platform.is('cordova')) {
window.location.href = url;
}else{
window.open(url,'_blank');
}
}
Run Code Online (Sandbox Code Playgroud)
这可能会有所帮助:)
Hun*_*ang 21
你可以使用platform.is('core')
,在浏览器上使用true.平台清单:
有关详细信息,请参阅http://ionicframework.com/docs/v2/api/platform/Platform/.
使用此工具,您可以检测您是否在浏览器中:
if(window.hasOwnProperty('cordova')){ /* use webview */ }
else { /* use browser link */ }
Run Code Online (Sandbox Code Playgroud)
基于hhung,因为核心仅检测您是否使用Windows浏览器打开应用程序,但如果您使用的是chrome mobile emulation,则core将返回false,但mobileweb将返回true.因此,您应该使用以下内容:
if(this.platform.is('core') || this.platform.is('mobileweb')) {
this.isApp = false;
} else {
this.isApp = true;
}
Run Code Online (Sandbox Code Playgroud)
我在 Ionic 3 应用程序中遇到了同样的问题,并在这里找到了一个很好的方法来检查应用程序是在浏览器中运行还是在真实设备/模拟器中运行:
isApp = !document.URL.startsWith('http');
Run Code Online (Sandbox Code Playgroud)
基本上它依赖于真实设备或模拟器使用file
协议而不是http
浏览器使用的资源来提供资源的事实。
归档时间: |
|
查看次数: |
29160 次 |
最近记录: |