2017-01-04 16 views
0

私はウェブサイトをロードしようとしています:CitibankAndroid webviewが正しくウェブサイトをロードしていない

これは、Chromeブラウザ(モバイルとデスクトップ)で正常に読み込まれます。 しかし、私のwebviewアプリではスタイルやJavaScriptが読み込まれません。

注:デスクトップのWebサイトを読み込もうとしています。

package com.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.com.hk/HKGCB/JSO/signon/DisplayUsernameSignon.do?locale=en_HK"); 
     setContentView(mWebview); 
    } 
} 

私が見ることを期待することは、このようなものです:: これは私のコードです Citibank site しかし、私が見るものは次のとおりです。 Android App

+0

http://stackoverflow.com/a/14688100/6478047は便利 – Redman

+0

@Redmanかもしれません:これは私が上記のスクリーンショットを掲載していると私は同じサイトを受け取る動作しません。 – user000111181

+0

あなたはそれに以下の答えをチェックしました – Redman

答えて

2

は、このコード行を試してみてください、

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.com.hk/HKGCB/JSO/signon/DisplayUsernameSignon.do?locale=en_HK"); 
     setContentView(mWebview); 

enter image description here

注::ユーザーエージェント文字列を設定すると、問題が解決する場合もありません。サイトが探しているユーザーエージェント文字列によって異なります。 現在使用されているユーザエージェントの文字列は次のとおりです。https://deviceatlas.com/blog/list-of-user-agent-strings

+0

さて、私はこれをやっていますか?また、デスクトップサイトではなく、モバイルサイトを読み込みます。 – user000111181

+0

@ user000111181デポットビューサイトのモバイルサイトを読み込み、ユーザーにズームさせますか? –

+0

はいデスクトップWebサイトをロードします。 – user000111181

0

ここでは、Mac OSのバージョンでUAを使用しています。 Androidの携帯電話ベースのUA文字列を追加します。 はこのライン

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"); 

を削除し、ユーザエージェントがWebKitのある宣言で問題がある。このUA文字列

Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0 

Reference 1

Reference 2

+0

これは、デフォルトのUA、つまりモバイルサイトを読み込むように強制します。 – user000111181

0

を追加します。それはデフォルトのWebkitブラウザに読み込まれているはずで、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"); 

このコード行を試してください。

package com.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.com.hk/HKGCB/JSO/signon/DisplayUsernameSignon.do?locale=en_HK"); 
     setContentView(mWebview); 
    } 
} 
+0

こんにちは@コーデパート:デスクトップWebサイトではなくモバイルサイトを読み込みます。 – user000111181

+0

はい、モバイルサイトを読み込んでいません – ASV

関連する問題