webview.goBack() 方法不调用 shouldOverrideUrlLoading 方法
我希望应用程序中加载的每个页面都经过 url 覆盖方法(我在其中进行一些 html 修改)。我怎样才能做到这一点?
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// do some html modifcations (myhtml)
view.loadDataWithBaseURL(url, myhtml, "text/html", "utf-8", url);
return false;
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) {
web1.goBack(); // go back 1 step
return true;
}
return super.onKeyDown(keyCode, event);
}
I want every page loaded in my app go through the url override method ( where i do some html modifications ). How can i achieve this?.
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// do some html modifcations (myhtml)
view.loadDataWithBaseURL(url, myhtml, "text/html", "utf-8", url);
return false;
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) {
web1.goBack(); // go back 1 step
return true;
}
return super.onKeyDown(keyCode, event);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在页面完成方法上,您将获得 url,并且可以重新加载 url
on page finished method you will get the url and you can reload the url
尝试返回
shouldOverrideUrlLoading
true这里有一个解释:-
如果主机应用程序想要离开当前的 WebView 并自行处理 url,则返回 true,否则返回 false。 参考
所以这应该做技巧,
并像这样处理
backPressed()
-Try to return
shouldOverrideUrlLoading
trueHere is an explanation:-
True if the host application wants to leave the current WebView and handle the url itself, otherwise return false. Reference
So this should do the trick,
And handle
backPressed()
like -//将其替换
为
//Replace this
With