WebView加载String字符串

通常开发中,我们都是直接用WebView家在一个url连接,显示其中的内容。
但是当后台返给你的在WebView中加载的数据是这种的格式:

String html = <p>国债和大额存单有很多相似之处,比如都很安全,都保本保息,长期利率差别也不大,那具体来看,国债和大额存单有什么区别?存哪个更好呢?</p><p>总结出国债和大额存单的五大区别:</p><p><strong>一、从安全角度看,国债稍高一点,但差别不大</strong></p><p>我们一直都说国债是国内最安全的理财产品,没有之一,因为它是国家发行的,受国家信用担保。</p><p>但大额存单的安全性也不低,属于存款,受存款保险条例保护,即使银行倒闭了,50万元以内都能受到全额保障。国内银行倒闭的风险太低了,尤其是国有大行和全国性股份制银行。之前你见过几家银行倒闭呢?</p><p>有人说,现在不倒闭,不意味着以后也不会倒闭,万一哪天金融风暴来了也说不准。如果真有这方面的担忧,那你可以选择大银行,或者小银行中的钱每家不超过50万就可以了。</p>

你做的该怎么加载处理不?
遇到这种情况,心里先骂后台一万遍草泥马,然后再考虑处理方案。
这种字符串,其实也是编写好的H5的js代码的一部分,嗯,h5的body的那部分,然后我们还要为其添加头部header,其他的变量等,使其转换成标准的可以让WebView渲染加载的字符串,然后再为其指定mimeType和编码格式enCoding。最后再调用WebView的loadDataWithBaseURL方法进行加载。具体如下:

1、把html字符串转换成可以让WebView渲染加载的字符串:

String standard = "<html> \n" +
            "<head> \n" +
            "<style type=\"text/css\"> \n" +
            "body {font-size:13px;}\n" +
            "</style> \n" +
            "</head> \n" +
            "<body>" +
            "<script type='text/javascript'>" +
            "window.onload = function(){\n" +
            "var $img = document.getElementsByTagName('img');\n" +
            "for(var p in  $img){\n" +
            " $img[p].style.width = '100%%';\n" +
            "$img[p].style.height ='auto'\n" +
            "}\n" +
            "}" +
            "</script>" + 
            html 
            + "</body>" +
            "</html>"

开发中,将上面的html 字符串变量改成自己的字符串变量即可。

2、为其指定mimeType和编码格式enCoding:

String mimeType = "text/html";
String enCoding = "utf-8";

3、调用WebView的loadDataWithBaseURL方法进行加载:

wvAdvisoryDetail.loadDataWithBaseURL(null, standard, mimeType, enCoding, null);

WebView渲染显示效果如下:

这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值