我有一个 WebView
正在加载 URL https://pro.mywellness.com .这工作正常,但是当导航到登录页面时,登录表单不会出现 - https://pro.mywellness.com/Login除了页眉和页脚之外,它几乎只是一个空白页面。
我已在 list 中启用互联网并在 Activity 中启用 javascript。我不知道是什么原因导致表单无法显示,因为它在普通浏览器中工作正常。任何人都可以提供任何帮助,我们将不胜感激。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import java.util.concurrent.atomic.AtomicBoolean;
public class MainActivity extends AppCompatActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = findViewById(R.id.activity_main_webview);
//Obtain the WebSettings object//
WebSettings webSettings = mWebView.getSettings();
//Call setJavaScriptEnabled(true)//
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("https://pro.mywellness.com");
// Stop local links and redirects from opening in browser instead of WebView
mWebView.setWebViewClient(new MyWebView());
}
@Override
public void onBackPressed() {
if (mWebView.canGoBack()) {
mWebView.goBack();
return;
}
// Otherwise defer to system default behavior.
super.onBackPressed();
}
}
MyWebView() 方法:
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MyWebView extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return !Uri.parse(url).getHost().endsWith("pro.mywellness.com");
}
}
最佳答案
只需在您的代码中的 loadurl 之前添加这一行:-
WebSettings webSettings = mWebView.getSettings();
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("https://pro.mywellness.com/Login");
它会起作用的。 :)
关于android - 登录表单不会显示在我的 WebView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51630832/