2016-04-12 102 views
2

当我尝试使用webview加载网站时,页面会加载。但是,该页面不会加载所有内容。我得到了PHP部分和Youtubevídeo,但它没有出现。这是我的代码:Webview不会加载整个网站

public class ChatFragment extends Fragment { 


public ChatFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View view = inflater.inflate(R.layout.fragment_chat, container, false); 

    String url = "mywebpath/index.php"; // It has the http part 
    WebView webView = (WebView) view.findViewById(R.id.chat); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.loadUrl(url); 
    webView.setWebViewClient(new WebViewClient()); 
    webView.setWebChromeClient(new WebChromeClient()); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
    webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON); 
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
    if (Build.VERSION.SDK_INT >= 19) { 
     webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
    } 
    else { 
     webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
    } 
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 

    WebSettings webSettings = webView.getSettings(); 
    webView.getSettings().setLoadWithOverviewMode(true); 
    webView.getSettings().setUseWideViewPort(true); 
    webView.getSettings().setBuiltInZoomControls(true); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON); 

    return view; 
} 

这是网站:http://i.imgur.com/Tk8UIvL.jpg

这是web视图结果:http://i.imgur.com/reDPlx1.png

感谢这么多的关注

附:聊天开始于php部分,然后出现一个div。

回答

0

哦!你必须建立自己的网站的移动版本

EG:

vsersion浏览器:for Browser

版本手机:for mobile

+0

它的工作。非常感谢你的帮助! – NyanMe

0

试试吧!

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) { 
View view = inflater.inflate(R.layout.fragment_chat, container, false); 
String url = "mywebpath/index.php"; // It has the http part 
WebView mWebView = (WebView) view.findViewById(R.id.chat); 
mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.getSettings().getPluginState(); 
if (Build.VERSION.SDK_INT < 8) { 
mWebView.getSettings().setPluginsEnabled(true); 
} else { 
mWebView.getSettings().setPluginState(PluginState.ON); 
} 
mWebView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
} 
mWebView.loadUrl(url); 
return view; 
} 

在AndroidMainfest

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 

,如果它不能正常工作。尝试这个。 (替换mWebview.loadUrl)

mWebview.loadData(url, "text/html", "utf-8"); 

或者

mWebview.loadDataWithBaseURL("", url, "text/html", "UTF-8", "");