我的网站有面包屑,可以突出显示用户在流程中所处的阶段。当使用浏览器的后退按钮时,面包屑依靠浏览器历史记录来判断哪个阶段应该突出显示,但在使用硬件后退按钮的Android设备上,这似乎被绕过了,突出显示的面包屑也不会改变。
我的网站没有使用PhoneGap或任何类似的东西,因为它通常不是移动网站,所以有没有可能捕获Android后退按钮的使用,以便我可以添加一个事件,以便在使用该按钮时,仅使用JavaScript或jQuery,就可以根据历史日志设置面包屑突出显示?
发布于 2018-06-13 18:19:52
事件1.使用popstate
。
https://developer.mozilla.org/en-US/docs/Web/Events/popstate
window.onpopstate = function(e) {
updateBreadCrumbObservable();
};
事件2.使用onhashchange
。
window.onhashchange = function(e) {
updateBreadCrumbObservable();
}
您可以使用事件参数来获取有关触发的事件的更多描述。
发布于 2018-06-19 13:55:07
您可以选中activity的onBackPressed方法,并在调用javascript方法之前触发该方法。
例如:
override fun onBackPressed() {
if (handleBackPress) {
myWebView.loadUrl("javascript:backButtonPressed()")
}else {
super.onBackPressed()
}
}
在上面的例子中,如果javascript boolean变量为真,那么它将尝试调用webview中的handleBackPress文件的backButtonPressed()方法。
如果你需要任何解释或帮助,请告诉我。
https://stackoverflow.com/questions/20373849
复制相似问题