mp-html

授权协议 MIT License
开发语言 C/C++
所属分类 应用工具、 文档/文本编辑
软件类型 开源软件
地区 不详
投 递 者 鄢子平
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

mp-html

一个强大的小程序富文本组件

功能介绍

  • 支持在多个主流的小程序平台和 uni-app 中使用
  • 支持丰富的标签(包括 tablevideosvg 等)
  • 支持丰富的事件效果(自动预览图片、链接处理等)
  • 支持设置占位图(加载中、出错时、预览时)
  • 支持锚点跳转、长按复制等丰富功能
  • 支持大部分 html 实体
  • 丰富的插件(关键词搜索、内容 编辑 等)
  • 效率高、容错性强且轻量化(≈25KB9KB gzipped

查看 功能介绍 了解更多

使用方法

原生平台

  • npm 方式

    1. 在项目目录下安装组件包

      npm install mp-html
    2. 开发者工具中勾选 使用 npm 模块 并点击 工具 - 构建 npm

    3. 在需要使用页面的 json 文件中添加

      {
        "usingComponents": {
          "mp-html": "mp-html"
        }
      }
    4. 在需要使用页面的 wxml 文件中添加

      <mp-html content="{{html}}" />
    5. 在需要使用页面的 js 文件中添加

      Page({
        onLoad () {
          this.setData({
            html: '<div>Hello World!</div>'
          })
        }
      })
  • 源码方式

    1. 将源码中对应平台的代码包(dist/platform)拷贝到 components 目录下,更名为 mp-html

    2. 在需要使用页面的 json 文件中添加

      {
        "usingComponents": {
          "mp-html": "/components/mp-html/index"
        }
      }

    后续步骤同上

查看 快速开始 了解更多

uni-app

  • 源码方式

    1. 将源码中 dist/uni-app 内的内容拷贝到项目根目录下
      可以直接通过 插件市场 引入

    2. 在需要使用页面的 vue 文件中添加

      <template>
        <view>
          <mp-html :content="html" />
        </view>
      </template>
      <script>
        import mpHtml from '@/components/mp-html/mp-html'
        export default {
          // HBuilderX 2.5.5+ 可以通过 easycom 自动引入
          components: {
            mpHtml
          },
          data () {
            return {
              html: '<div>Hello World!</div>'
            }
          }
        }
      </script>
  • npm 方式

    1. 在项目目录下安装组件包

      npm install mp-html
    2. 在需要使用页面的 vue 文件中添加

      <template>
        <view>
          <mp-html :content="html" />
        </view>
      </template>
      <script>
        import mpHtml from 'mp-html/dist/uni-app/components/mp-html/mp-html'
        export default {
          // 不可省略
          components: {
            mpHtml
          },
          data () {
            return {
              html: '<div>Hello World!</div>'
            }
          }
        }
      </script>

    使用 cli 方式运行的项目,通过 npm 方式引入时,需要在 vue.config.js 中配置 transpileDependencies,详情可见 #330
    如果在 nvue 中使用还要将 dist/uni-app/static 目录下的内容拷贝到项目的 static 目录下,否则无法运行

查看 快速开始 了解更多

组件属性

属性 类型 默认值 说明
container-style String 容器的样式(2.1.0+
content String 用于渲染的 html 字符串
copy-link Boolean true 是否允许外部链接被点击时自动复制
domain String 主域名(用于链接拼接)
error-img String 图片出错时的占位图链接
lazy-load Boolean false 是否开启图片懒加载
loading-img String 图片加载过程中的占位图链接
pause-video Boolean true 是否在播放一个视频时自动暂停其他视频
preview-img Boolean true 是否允许图片被点击时自动预览
scroll-table Boolean false 是否给每个表格添加一个滚动层使其能单独横向滚动
selectable Boolean false 是否开启文本长按复制
set-title Boolean true 是否将 title 标签的内容设置到页面标题
show-img-menu Boolean true 是否允许图片被长按时显示菜单
tag-style Object 设置标签的默认样式
use-anchor Boolean false 是否使用锚点链接

查看 属性 了解更多

组件事件

名称 触发时机
load dom 树加载完毕时
ready 图片加载完毕时
error 发生渲染错误时
imgtap 图片被点击时
linktap 链接被点击时

查看 事件 了解更多

api

组件实例上提供了一些 api 方法可供调用

名称 作用
in 将锚点跳转的范围限定在一个 scroll-view 内
navigateTo 锚点跳转
getText 获取文本内容
getRect 获取富文本内容的位置和大小
setContent 设置富文本内容
imgList 获取所有图片的数组

查看 api 了解更多

插件扩展

除基本功能外,本组件还提供了丰富的扩展,可按照需要选用

名称 作用
audio 音乐播放器
editable 富文本编辑
emoji 解析 emoji
highlight 代码块高亮显示
markdown 渲染 markdown
search 关键词搜索
style 匹配 style 标签中的样式
txv-video 使用腾讯视频
img-cache 图片缓存 by @PentaTea

查看 插件 了解更多

使用案例

官方示例 欢喜商城 多么生活 全品作业小助手 米兔旅行 食法查
富文本插件 欢喜商城 多么生活 食法查
微慕 古典文学名著阅读 程序员技术之旅 典典博客 APP 比比 Geek 时代
微慕 古典文学名著阅读 程序员技术之旅 典典博客
源创智造 备忘录与记事本 优秀笔记 365 刷题 同城共享书 技术源 share
备忘录与记事本 优秀笔记 365刷题 同城共享书 技术源share

以上排名不分先后,更多可见 使用案例收集(欢迎添加)

许可与支持

  • 许可
    您可以免费的使用(包括商用)、复制或修改本组件 MIT License
    不可用于任何违法用途
    在用于生产环境前务必经过充分测试,由插件 bug 带来的损失概不负责(可以自行修改源码)

  • 支持
    支持

更新日志

  • v2.2.0 (20211011)

    1. A 增加 customElements 配置项,便于添加自定义功能性标签 详细
    2. A editable 插件增加切换音视频自动播放状态的功能 详细 by @leeseett
    3. A editable 插件删除媒体标签时触发 remove 事件,便于删除已上传的文件
    4. U editable 插件 insertImg 方法支持同时插入多张图片 详细
    5. U editable 插入图片和音视频时支持拼接 domian 主域名
    6. F 修复了内部链接参数中包含 :// 时被认为是外部链接的问题 详细
    7. F 修复了部分 svg 标签名或属性名大小写不正确时不生效的问题 详细
    8. F 修复了 uni-appnvue 页面运行到非 app 平台时可能样式错误的问题
    9. D 移除了 ad 配置项(由 customElements 代替)
  • v2.1.5 (20210813)

    1. A 增加支持标签的 dir 属性
    2. F 修复了 ruby 标签文字与拼音没有居中对齐的问题 详细
    3. F 修复了音视频标签内有 a 标签时可能无法播放的问题
    4. F 修复了 externStyle 中的 class 名包含下划线或数字时可能失效的问题 详细
    5. F 修复了 uni-apph5 端引入 externStyle 可能不生效的问题 详细
    6. F 修复了微信原生包 a 标签的 style 中包含 inline 时不响应事件的问题 详细

    1.x 的升级方法可见 更新指南

查看 更新日志 了解更多

  • 功能介绍 支持在多个主流的小程序平台和 uni-app 中使用 支持丰富的标签(包括 table、video、svg 等) 支持丰富的事件效果(自动预览图片、链接处理等) 支持设置占位图(加载中、出错时、预览时) 支持锚点跳转、长按复制等丰富功能 支持大部分 html 实体 丰富的插件(关键词搜索、内容 编辑 等) 效率高、容错性强且轻量化(≈24.5KB,9KB gzipped) 查看 功能介绍

  • 功能介绍 支持在多个主流的小程序平台和 uni-app 中使用 支持丰富的标签(包括 table、video、svg 等) 支持丰富的事件效果(自动预览图片、链接处理等) 支持设置占位图(加载中、出错时、预览时) 支持锚点跳转、长按复制等丰富功能 支持大部分 html 实体 丰富的插件(关键词搜索、内容 编辑 等) 效率高、容错性强且轻量化(≈24.5KB,9KB gzipped) 查看 功能介绍

  •   xhtml mp   XHTML MP(XHTML Mobile Profile),它是定义在WAP 2.0上面的标记语言(markup language)。XHTML MP是XHTML的子集,在XHTML MP出现之前,WAP网站的开发者们只能用WML和WML script来创建WAP的网站。而与此同时,web的开发者们却在用强大的多的HTML、CSS、XHTML等来进行传统网站的开发。所以

  • 微慕小程序是资讯、媒体类小程序,因为对富文本内容和媒体内容的显示有较高的需求。对于富文本解析,微慕小程序以前采用的开源的wxParse组件,不过wxParse组件存在很多的问题且已经停止维护支持,随着微慕小程序功能不断的增加和优化,wxParse组件已经无法适应,同时对wxParse二次开发优化的难度比较大,基于此微慕团队考虑寻找更合适的解析组件,经过朋友的推荐和我们的考察,最终选择开源组件:mp

  •  XHTML MP (可扩展标记语言移动概要) WAP 2.0 中定义的标记语言. WAP 2.0 是 WAP 论坛 (现为开放移动联盟 [OMA]) 创建的最新的移动服务说明. 对 WAP CSS (WAP 级联样式单或 WCSS) 的说明也在 WAP 2.0 中作了定义. WAP CSS 是 XHTML 移动概要的伴侣, 二者常被一起使用. 有了 WAP CSS, 你可以轻松地改变与格式化 X

 相关资料
  •   mp-blog 是一个基于Node.js的博客系统. 本博客没有使用数据库,而是纯文本保存数据,使用github托管.编辑器使用Markdown. 安装依赖 npm insall 启动博客 npm start 随后,在/markdown目录放置.md文件,刷新页面,就能看到新编写的文章了,当然文章头部格式需要按照定义的编写,复制一份,修改对应的地方就行. 其中资源目录/public放置到了al

  • Xtreme Media Player是一个免费开源的跨平台多媒体播放器。支持的媒体格式包括:mpeg audio (mp3), ogg vorbis, flac, speex, wav, aiff (aifc, aif), au (snd). 支持的播放列表格式包括:xspf, m3u 和 pls 。

  • mp-unpack是一个微信小程序反编译客户端 功能特点 基于electron-vue开发,可以打包为mac、Windows、Linux的安装包。 使用方法 ①通过release安装使用 1.下载release包安装后启动软件 2.将文件拖入工具内的上传区域或者选择准备好的wxapkg包 3.点击解包、在下方日志区查看解包执行过程,等待解包完成 4.解包成功之后点击日志下方的下载按钮即可下载解包后

  • mp-Math,微信公众号公式编辑插件,为微信公众号原生编辑器提供公式编辑功能。 想要在微信公众号的编辑器里输入公式吗?来试试我们的 Chrome 插件吧~ 相信不少人有在微信公众号上输入数学公式的需求,而微信至今没有推出官方的公式编辑器。有人被迫去选择一些新的工作流程,比如我在文章《一道从初中做到大学的数学题》中采用了 TEX→ PDF → SVG 的制作流程,这对普通用户来说都有一定的门槛。有

  • 在回收器视图中,我试图实现MP折线图。我有一个rest api,用于获取数据并将其保存在HashMap中。现在我想根据我的API响应来设置数据。请协助我在一个列表项目中创建一个线图。

  • 我试图在open mp中并行化的代码是一个Monte Carlo代码,它可以归结为以下内容: 我想确保随机数生成器的状态是跨线程共享的,并且对结果的添加是原子的。 有没有办法用strust::omp中的东西替换这个代码。从我到目前为止所做的研究来看,strust::omp更多地是一个指令,用于使用多个CPU线程,而不是GPU进行一些标准的strust操作。