现在做的这个项目有一个文章详情的页面要显示,文章内容是html代码,有图文,就跟微信公众号的文章一样的。以前都是直接用内置浏览器打开,但现在要求不能用webview打开网页,要使用原生解析html数据并布局?请问苹果和安卓端各有相应的插件可以用吗?或者说有什么好的实现思路?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
那有你的爽了,估计要服务器配合解析dom结构才可以(不在前端做一是性能未必行,二是扔服务器上还能缓存)
我也尝试在react native把简单的html(知道大体结构,可能有嵌套样式,以及会出现的所有标签,属性,甚至属性的排列顺序都是给定的)
但是我在做p、img、b/blockquote、a混排的时候,只有一层嵌套,做了一个小时我就放弃了,还是老老实实做了个WebView进去
所以问题的关键,考虑到java没有平衡组,自己用正则拿显示的元素都蛋疼的到死,如果不用正则解析分析dom结构又太累,所以想做的话你需要一个dom解析的库,拿到dom树,然后演着dom树把每个元素转换位源生的元素。。。
只说一点我碰到的,比如在p里,如果p设定了宽度,那么里面的元素一行不够是不是应该挤到下面去,或者是没有float的两个p,是不是会自动换行啊,但是解析的时候是没有<br/>这种东西给你识别的。。
个人了解是没有的,如果不准备通过webview进行展示那么为何要使用html的格式,通过其他格式是否会更高效?如果需要人为解析html的格式的话,TextView是可以设置html样式的,但是总体来说一个个元素的对应进行显示,并且还要针对对应style设置对应的属性是不是有点太过麻烦了。
如果是图文混排,没有比webview更好的了。如果能图文分开,那也要看你们的设计需求了,安卓常规就TextView+ImageView,外加gridview之类的组合,那些所谓插件也基本基于这些组合
那有你的爽了,估计要服务器配合解析dom结构才可以(不在前端做一是性能未必行,二是扔服务器上还能缓存)
我也尝试在react native把简单的html(知道大体结构,可能有嵌套样式,以及会出现的所有标签,属性,甚至属性的排列顺序都是给定的)
但是我在做p、img、b/blockquote、a混排的时候,只有一层嵌套,做了一个小时我就放弃了,还是老老实实做了个WebView进去
所以问题的关键,考虑到java没有平衡组,自己用正则拿显示的元素都蛋疼的到死,如果不用正则解析分析dom结构又太累,所以想做的话你需要一个dom解析的库,拿到dom树,然后演着dom树把每个元素转换位源生的元素。。。
只说一点我碰到的,比如在p里,如果p设定了宽度,那么里面的元素一行不够是不是应该挤到下面去,或者是没有float的两个p,是不是会自动换行啊,但是解析的时候是没有<br/>这种东西给你识别的。。
个人了解是没有的,如果不准备通过webview进行展示那么为何要使用html的格式,通过其他格式是否会更高效?
如果需要人为解析html的格式的话,TextView是可以设置html样式的,但是总体来说一个个元素的对应进行显示,并且还要针对对应style设置对应的属性是不是有点太过麻烦了。
如果是图文混排,没有比webview更好的了。如果能图文分开,那也要看你们的设计需求了,安卓常规就TextView+ImageView,外加gridview之类的组合,那些所谓插件也基本基于这些组合