mipengine / mip

[Deprecated] 请查看 mip2
https://www.mipengine.org/
MIT License
380 stars 81 forks source link

mip能解析html吗? #279

Closed yezhaocan closed 5 years ago

yezhaocan commented 6 years ago

mip能解析html吗,是这样的,我们后台传过来的数据是html,包含style等mip不允许的属性或者是html标签,有这样的转换工具吗,类似于小程序的wxParse组件,谢谢!

jennyliang220 commented 6 years ago

MIP页面是在基本HTML的基础上,增加了一些特定规范,以优化页面性能。谈不上“解析HTML”。建议手动修改MIP页面,将交互组件替换为MIP官方组件,最终返回合法MIP页给用户。

momofan commented 6 years ago

@yezhaocan 解法:后台传回来的 html的中间层,做一层处理,使 html 符合 mip 规范,类似您说的wxParse组件,目前 MIP 还没有类似的工具,正在计划做一版 node 版本的。

xuexb commented 6 years ago

hi @yezhaocan ,我基于 NodeJS 写了一个 npm 模块(mip-parse-html),支持把 HTML 内容简单的自动处理成 MIP-HTML ,但不保证处理结果一定符合 MIP-HTML 规范,大概的功能有:

  1. 移除了 <script> 内链脚本和外链非 MIP 相关的脚本
  2. 元素中的 style="" 内链样式通过提取成 #m随机id { 样式 } 并插入到头部的 <style mip-custom> 标签中,但这样的处理可能导致页面样式出错
  3. 把一些 MIP-HTML 中禁用的标签自动删除
  4. 把一些禁用标签替换为 MIP 组件,如 <iframe> -> <mip-iframe> ,理论来说会兼容原生的功能,但需要结合对应的组件去审阅功能
  5. ...

转换后的结果可能需要再次修改、优化才能发布正式产品,更多内容点击 https://github.com/xuexb/mip-parse-html 查看。