admin管理员组文章数量:1309930
I am trying to load a website: Citibank.
This loads fine in the chrome browser ( Mobile and desktop). However, doesn't load with styles and javascript in my webview app.
Note: I am trying to load a desktop website. This is my code:
package .example.asd.webproj;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private WebView mWebview ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebview = new WebView(this);
mWebview.setWebChromeClient(new WebChromeClient());
mWebview.setWebViewClient(new WebViewClient());
mWebview.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36");
mWebview.getSettings().setAllowFileAccessFromFileURLs(true);
mWebview.getSettings().setAllowUniversalAccessFromFileURLs(true);
mWebview.clearCache(true);
mWebview.clearHistory();
mWebview.getSettings().setAllowContentAccess(true);
mWebview.getSettings().setDomStorageEnabled(true);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setSupportZoom(true);
mWebview.getSettings().setLoadWithOverviewMode(true);
mWebview.getSettings().setUseWideViewPort(true);
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setDisplayZoomControls(false);
mWebview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebview.setScrollbarFadingEnabled(false);
final Activity activity = this;
mWebview .loadUrl(".do?locale=en_HK");
setContentView(mWebview );
}
}
What I expect to see is something like this: But what I see is:
I am trying to load a website: Citibank.
This loads fine in the chrome browser ( Mobile and desktop). However, doesn't load with styles and javascript in my webview app.
Note: I am trying to load a desktop website. This is my code:
package .example.asd.webproj;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private WebView mWebview ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebview = new WebView(this);
mWebview.setWebChromeClient(new WebChromeClient());
mWebview.setWebViewClient(new WebViewClient());
mWebview.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36");
mWebview.getSettings().setAllowFileAccessFromFileURLs(true);
mWebview.getSettings().setAllowUniversalAccessFromFileURLs(true);
mWebview.clearCache(true);
mWebview.clearHistory();
mWebview.getSettings().setAllowContentAccess(true);
mWebview.getSettings().setDomStorageEnabled(true);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setSupportZoom(true);
mWebview.getSettings().setLoadWithOverviewMode(true);
mWebview.getSettings().setUseWideViewPort(true);
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setDisplayZoomControls(false);
mWebview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebview.setScrollbarFadingEnabled(false);
final Activity activity = this;
mWebview .loadUrl("https://www.citibank..hk/HKGCB/JSO/signon/DisplayUsernameSignon.do?locale=en_HK");
setContentView(mWebview );
}
}
What I expect to see is something like this: But what I see is:
Share Improve this question asked Jan 4, 2017 at 8:13 user000111181user000111181 4237 silver badges20 bronze badges 4- stackoverflow./a/14688100/6478047 might be useful – Manohar Commented Jan 4, 2017 at 8:29
- @Redman : This doesn't work I receive the same site as I have posted the screenshot above. – user000111181 Commented Jan 4, 2017 at 8:31
- did you check the below answers to it – Manohar Commented Jan 4, 2017 at 8:32
- Yes I did , my sample code has all of these incorporated. – user000111181 Commented Jan 4, 2017 at 8:33
4 Answers
Reset to default 4Try this line of code,
mWebview = new WebView(this);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
final Activity activity = this;
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
mWebview.loadUrl("https://www.citibank..hk/HKGCB/JSO/signon/DisplayUsernameSignon.do?locale=en_HK");
setContentView(mWebview);
Note: Setting the user agent string may or may not fix the issue, it all depends what user agent string the site is looking for. Here are some user agent strings currently being used https://deviceatlas./blog/list-of-user-agent-strings
The problem is with you declare the user agent is webkit. It should have loaded into the default webkit browser and you should enable the javascript.
mWebview.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36");
Try this line of code.
package .example.asd.webproj;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private WebView mWebview ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebview = new WebView(this);
mWebview.setWebChromeClient(new WebChromeClient());
mWebview.setWebViewClient(new WebViewClient());
mWebview.getSettings().setAllowFileAccessFromFileURLs(true);
mWebview.getSettings().setAllowUniversalAccessFromFileURLs(true);
mWebview.clearCache(true);
mWebview.clearHistory();
mWebview.getSettings().setAllowContentAccess(true);
mWebview.getSettings().setDomStorageEnabled(true);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setSupportZoom(true);
mWebview.getSettings().setLoadWithOverviewMode(true);
mWebview.getSettings().setUseWideViewPort(true);
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setDisplayZoomControls(false);
mWebview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebview.setScrollbarFadingEnabled(false);
final Activity activity = this;
mWebview .loadUrl("https://www.citibank..hk/HKGCB/JSO/signon/DisplayUsernameSignon.do?locale=en_HK");
setContentView(mWebview );
}
}
Here you puting UA for the version of Mac OS. so Add Android Phone based UA string. remove this line
mWebview.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36");
and add this UA String
Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0
Reference 1
Reference 2
If anyone is testing in a Virtual device, I would suggest to test in a real device and see the results.
本文标签: javascriptAndroid webview not loading website properlyStack Overflow
版权声明:本文标题:javascript - Android webview not loading website properly - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741861256a2401635.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论