我尝试为this website做一个基于webview的应用程序,以便在移动应用程序中显示它。
当我把任何不同的网站应用程序工作得很好,但在这个特定的网站上,当我点击按钮进入桌面页面时,从不显示第二页。
但是,我在onPageFinished
方法并记录页面完全加载。
我的代码在这里
final WebView myWebView = (WebView) rootView.findViewById(R.id.webview);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(getActivity(), "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("WEBSITE", "Page Loaded.");
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("WEBSITE", url);
myWebView.loadUrl(url);
return false;
}
});
myWebView.loadUrl("https://demo.frappecloud.com/");
答案 0 :(得分:0)
我认为问题出在您的shouldOverrideUrlLoading
上。如果您查看文档,您将看到:
This method is not called for requests using the POST "method"
当您提交表单时,您正在发出POST请求,该请求基本上被忽略。
以下是链接:WebViewClient
另请查看此参考,其中说明了如何使用POST数据加载网址:LOAD A POST REQUEST INTO A WEBVIEW IN ANDROID