【问题标题】:Loading html data from page source into webview将页面源中的 html 数据加载到 webview 中
【发布时间】:2014-01-26 02:45:48
【问题描述】:

我正在尝试通过复制 html 源(右键单击页面,选择“查看页面源”)并将其粘贴到我在我的 android 的“资产”文件夹中的 HTML 文件中来在我的 webview 中加载一个页面。

我遇到的问题是,当我使用webview.loadUrl(myUrl); 时,它会加载页面但它主要是黑白的,我看不到任何颜色.. 通常只有链接显示(链接可点击但不起作用,他们只需给我一个网页不可用错误),仅此而已。

我将如何解决此问题?

我的代码是这样的

@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        WebView webView = (WebView)findViewById(R.id.myWebview);

        webView.getSettings().setJavaScriptEnabled(true);


        webView.setWebViewClient(new WebViewClient(){   
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                view.loadUrl(url);
                return false;
            }
        });


        String myUrl = "file:///android_asset/Assets.html";
        webView.loadUrl(myUrl);


    }

Assets.html 文件显然包含了所有的 HTML 代码。

【问题讨论】:

  • 网页是否在标头中引用了任何外部css文件,或者是Assets.html中声明的所有样式?
  • 一切都在 Assets.html 中声明
  • 例如 HTML 源来自 www.google.com

标签: java android html webview


【解决方案1】:

我发现了问题。

这是编码。

不幸的是,我不确定要使用什么编码,但这就是我解决它的方法。

当我从不同的网页复制源代码并尝试运行我的应用程序时,出现了一个错误,它表示 HTML 源代码中包含的某些字符需要不同的编码才能运行,只要我选择“更改encoding”在弹出的消息中,并运行应用程序,网站加载正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-01
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2021-12-21
    相关资源
    最近更新 更多