Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RichText解析包含video的html字符串报错 #4285

Closed
ranlix opened this issue Aug 26, 2019 · 5 comments
Closed

RichText解析包含video的html字符串报错 #4285

ranlix opened this issue Aug 26, 2019 · 5 comments

Comments

@ranlix
Copy link

ranlix commented Aug 26, 2019

问题描述
RichText 传入带有video的htm字符串,解析出来的video会报错

复现步骤
[复现问题的步骤]

  1. 在RichText 组件中使用包含video标签的html字符串
  2. 刷新微信开发者工具
  3. 解析渲染报错:unexpected character /
  4. 具体看下面的示例代码
const nodes_html = '<p><h2>Hello, world</h2><br><video controls height="280" width="420" preload="none" src="https://up.img.heidiancdn.com/o_1at5onlqt1j0srd4ei99nkcpb0Electr%20Pop.mp4"></video></p>'
<RichText nodes={ nodes_html }/>

期望行为
富文本组件正确解析html字符串,并且渲染成功不报错,html字符串里包含的video,渲染出来应该是宽度100%,高度自动的video

报错信息

报错见下图
image

系统信息

taro info

Taro v1.3.14

  Taro CLI 1.3.14 environment info:
    System:
      OS: macOS 10.14
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 8.12.0 - ~/.nvm/versions/node/v8.12.0/bin/node
      Yarn: 1.12.1 - /usr/local/bin/yarn
      npm: 6.5.0 - ~/.nvm/versions/node/v8.12.0/bin/npm
    npmPackages:
      @tarojs/async-await: 1.3.14 => 1.3.14
      @tarojs/cli: 1.3.14 => 1.3.14
      @tarojs/components: 1.3.14 => 1.3.14
      @tarojs/components-rn: 1.3.14 => 1.3.14
      @tarojs/plugin-babel: 1.3.14 => 1.3.14
      @tarojs/plugin-csso: 1.3.14 => 1.3.14
      @tarojs/plugin-sass: 1.3.14 => 1.3.14
      @tarojs/plugin-uglifyjs: 1.3.14 => 1.3.14
      @tarojs/redux: 1.3.14 => 1.3.14
      @tarojs/redux-h5: 1.3.14 => 1.3.14
      @tarojs/rn-runner: 1.3.14 => 1.3.14
      @tarojs/router: 1.3.14 => 1.3.14
      @tarojs/taro: 1.3.14 => 1.3.14
      @tarojs/taro-alipay: 1.3.14 => 1.3.14
      @tarojs/taro-h5: 1.3.14 => 1.3.14
      @tarojs/taro-redux-rn: 1.3.14 => 1.3.14
      @tarojs/taro-rn: 1.3.14 => 1.3.14
      @tarojs/taro-router-rn: 1.3.14 => 1.3.14
      @tarojs/taro-swan: 1.3.14 => 1.3.14
      @tarojs/taro-tt: 1.3.14 => 1.3.14
      @tarojs/taro-weapp: 1.3.14 => 1.3.14
      @tarojs/webpack-runner: 1.3.14 => 1.3.14
      eslint-config-taro: 1.3.14 => 1.3.14
      eslint-plugin-taro: 1.3.14 => 1.3.14
      nerv-devtools: ^1.4.4 => 1.4.4
      nervjs: ^1.4.4 => 1.4.4
      react: 16.3.1 => 16.3.1
      react-native: 0.55.4 => 0.55.4

补充信息
[可选]
[根据你的调查研究,出现这个问题的原因可能在哪里?]

@taro-bot
Copy link

taro-bot bot commented Aug 26, 2019

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

@jinjinjin0731
Copy link
Contributor

小程序 RichText 内部不支持 video 标签 受信任的HTML节点及属性

@ranlix
Copy link
Author

ranlix commented Aug 27, 2019

小程序 RichText 内部不支持 video 标签 受信任的HTML节点及属性

这个我注意到了,但是实际上video之前的 <h2>Hello, world</h2>也被忽略了,貌似解析的时候碰到不支持的标签,直接报错了,这个能做一个白名单过滤么,如果遇到不再信任节点或者属性,直接忽略,返回支持的节点以及属性解析后的nodes?

@taro-bot
Copy link

taro-bot bot commented Aug 27, 2019

Hello~

您的问题楼上已经有了确切的回答,如果没有更多的问题这个 issue 将在 15 天后被自动关闭。

如果您在这 15 天中更新更多信息自动关闭的流程会自动取消,如有其他问题也可以发起新的 Issue。

Good luck and happy coding~

@ranlix
Copy link
Author

ranlix commented Aug 27, 2019

小程序官方的信任节点tip:
如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除。
所以,希望Taro的RichText可以更新,与此一样,自动忽略掉不受信任的节点,这样富文本里面的其他节点不受影响

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants