gpt4 book ai didi

android - 使用 Cordova 3.6 的 InAppBrowser 窗口中的后退按钮行为?

转载 作者:搜寻专家 更新时间:2023-11-01 08:48:10 27 4
gpt4 key购买 nike

我正在使用 cordova 3.6 编写一个移动应用程序,这个应用程序只是打开一个与我网站的移动版本对应的外部 url

var ref = window.open('http://www.stackoverflow.com', '_self', 'location=no');

如果使用 _self 作为目标,后退按钮的行为对我来说很好,因为它在浏览的页面中可以正常工作,但问题是历史堆栈中的最后一个返回完成返回到我的索引页面,然后再次打开我的网址!窗口上的事件也不起作用。如何退出?

var ref = window.open('http://www.stackoverflow.com', '_blank', 'location=no');

如果使用 _self 作为目标,后退按钮的行为是不一样的。在浏览的页面中不可能返回,无论我们是什么,都只能在索引页面上返回。如何修改行为以使其与 _self 相同?

我坚持使用这两种解决方案:(

注:我看到这个similar question但是建议的代码

dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
public void onDismiss(DialogInterface dialog) {
closeDialog();
}
});

cordova 中不再存在 InAppBrowser.java 不再存在

最佳答案

感谢 Kris Erikson 在 this post 上的回答,我找到了使用 cordova 3.6 的“_blank”选项目标的有效解决方案

通过这些修改,硬件后退按钮可以在 InAppBrowser 的页面内使用。

我以后复制他的工作解决方案

转到 src/com/org/apache/corodova/inappbrowser 目录并编辑 InAppBrowserDialog.java:变化

public void onBackPressed () {
if (this.inAppBrowser == null) {
this.dismiss();
} else {
// better to go through the in inAppBrowser
// because it does a clean up
this.inAppBrowser.closeDialog();
}
}

public void onBackPressed () {
if (this.inAppBrowser == null) {
this.dismiss();
} else {
if (this.inAppBrowser.canGoBack()) {
this.inAppBrowser.goBack();
} else {
this.inAppBrowser.closeDialog();
}
}
}

然后进入InAppBrowser,找到goBack函数,更改:

/**
* Checks to see if it is possible to go back one page in history, then does so.
*/
private void goBack() {
if (this.inAppWebView.canGoBack()) {
this.inAppWebView.goBack();
}
}

/**
* Checks to see if it is possible to go back one page in history, then does so.
*/
public void goBack() {
if (this.inAppWebView.canGoBack()) {
this.inAppWebView.goBack();
}
}

public boolean canGoBack() {
return this.inAppWebView.canGoBack();
}

如果您找到更好的解决方案避免修改java代码,请发布

关于android - 使用 Cordova 3.6 的 InAppBrowser 窗口中的后退按钮行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26231699/

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