Android 登录表单将不会显示在my WebView中
我有一个Android 登录表单将不会显示在my WebView中,android,Android,我有一个WebView加载URL。这很好,但是当导航到登录页面时,登录表单不会出现——除了页眉和页脚,它几乎只是一个空白页面 我在清单中启用了internet,并在活动中启用了javascript。我不知道是什么原因导致表单无法显示,因为它在普通浏览器中工作正常。任何人能提供的任何帮助都将不胜感激 import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.W
WebView
加载URL。这很好,但是当导航到登录页面时,登录表单不会出现——除了页眉和页脚,它几乎只是一个空白页面
我在清单中启用了internet,并在活动中启用了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()方法:
只需在加载URL之前的代码中添加以下行:-
WebSettings webSettings = mWebView.getSettings();
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("https://pro.mywellness.com/Login");
它会起作用的。:) MyWebView()此方法的作用是什么?它用于阻止跨域访问。我已经测试过删除它,但它没有任何作用-我会将代码添加到我的问题中。它还阻止在设备浏览器中打开链接。[INFO:CONSOLE(281)]“Uncaught TypeError:无法读取null的属性'getItem',source:(281)-->我运行了你的代码我在logHa中也得到了这个错误!非常感谢。我不认为你能解释这行代码的作用吗?它基本上是用于安全和节省空间,默认情况下它是禁用的网站,所以这就是为什么我们需要启用它:)你可以接受答案,如果它对你有效@Stephen:)
WebSettings webSettings = mWebView.getSettings();
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("https://pro.mywellness.com/Login");