2015-04-16 31 views
0

我想让Android应用程序在WebView中显示网站,但只有网站主页实际上通过WebView正确显示内容,其他页面完全忽略网站样式并显示带有白色背景和蓝色默认超链接的内容。我在iOS上测试了相同类型的应用程序,并且在那里可以正常工作。我能做些什么呢?Android中的WebView不显示网页样式

Android version

enter image description here

这是方法:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    WebView myWebView = (WebView) findViewById(R.id.webView); 
    myWebView.getSettings().setJavaScriptEnabled(true); 
    myWebView.setWebViewClient(new WebViewClient()); 
    myWebView.loadUrl("http://www.awesomestories.com"); 
} 
+0

您是否启用了JavaScript?或尝试使用setWebChromeClient。 –

+0

请发布您的代码,以便我们可以提供更好的解决方案 –

+0

看起来像一些路径相关的问题。您的网页无法访问所需的CSS文件和资源。你能分享你的代码片段吗? –

回答

1

如果你一直保持着的WebView单立柱设置删除它,它会工作得完美。

myWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 

如果你没有保持单列设置,但仍会它不工作,然后检查是否启用JavaScript或者没有,如果不是那么启用它。

myWebView.getSettings().setJavaScriptEnabled(true); 
+0

我发布的方法,我没有该行去除 – jotun

+0

请参阅我编辑的答案 –

+0

谢谢我也试过这个,但没有注意到一个区别,看我更新的代码 – jotun

0

Android WebView要求您明确启用JavaScript。 页面中的样式可能通过JavaScript加载,并且一般而言,网站在没有它的情况下往往不会运行良好,因此启用它很重要,并且除此之外还可以解决您的问题。

myWebView.getSettings().setJavaScriptEnabled(true); 
+0

试过这个,什么都没发生 – jotun

0

应设置设置。
这样的窍门:

WebSettings settings = webview.getSettings(); 
    settings.setBuiltInZoomControls(true); 
    settings.setPluginState(PluginState.ON); 
    settings.setJavaScriptEnabled(true); 
    settings.setSupportZoom(true); 
+0

试过这个,没效果。 .. – jotun