对于我们的公司,我们有许多设备推出的Mobicontrol。这样我们就可以将设备锁定在所谓的kiosk模式中,它禁用了主屏幕的使用,并提供了一个定制的屏幕,只有一个我们可以决定的启动应用程序。
提供的应用程序之一是一个在浏览器( Surf)中打开链接的Ionic应用程序,但这带来了两个问题。
代码
HTML:
<div (click)="$ctrl.doTheThing()"> something </div>JS:
private doTheThing() {
this.inAppBrowser.create('surfs://' + url.replace(/^(https?:|)\/\//, ''), '_system');
}第一期
首先,当我使用android按钮时,单击似乎不再起作用了(我已经在doTheThing函数的第一行中设置了一个警告,但没有显示任何东西)。应用程序中的其他按钮似乎工作得很好,当使用开关应用程序按钮时,它也能工作。
我试过:
preventDefault()stopPropagation()tappable属性(tap)而不是(click)但似乎都不起作用。有人想办法解决这个问题吗?
第二期
注意:当打开一个链接时,它会记住最后一页(在soti冲浪中),所以通过使用后箭头,它首先导航到最后一个链接,当它没有更多的后退位置时,它会返回到应用程序。
我试过:
inAppBrowser.create()的返回值并在返回应用程序时调用close()版本信息
cordova -v:8.1.2 (cordova-lib@8.1.1)npm -v:6.4.1ionic:4.12.0发布于 2019-05-19 07:51:19
在这里,您可以使用Navbar类和生命周期钩子方法来防止设备返回按钮。
这是一个样本
ionViewDidLoad() {
this.navBar.backButtonClick = (e: UIEvent) => {
// todo something
if (condition )
{
this.getSaveDialog();
} else{
this.navCtrl.pop();
}
})
}如果在应用程序中打开Appbrowser,将失去对事件的控制,则无法跟踪和管理页面的状态。它可以通过浏览器进行维护。您需要在应用程序中打开的应用程序中放置黑客或替代程序。
https://stackoverflow.com/questions/56169650
复制相似问题