【mp-html】小程序富文本组件(页面内嵌html)
创始人
2024-11-10 00:37:51
0次

文章目录

  • 前言
  • 一、mp-html是什么?
  • 二、使用方法
    • 1.原生平台
      • 1.npm 方式:
      • 2.源码引入
    • 2.uniapp平台
      • 1.uni-modules 方式
      • 2.源码方式
      • 3.npm 方式
  • 三、应用示例


前言

显示动态 html 富文本是很多应用必要的需求,小程序平台不支持 dom 操作使得这成为一个难题,其自带的 rich-text 组件支持的标签少且屏蔽所有事件,难以实际应用。因此就有了这样一个能够便捷的在小程序平台上处理富文本的组件,还支持丰富的扩展功能。


提示:以下是mp-html正文内容,下面案例可供参考

一、mp-html是什么?

mp-html富文本组件是一个可以在多个主流小程序平台(如微信、QQ、百度、支付宝、头条和uni-app)和uni-app中使用的小程序组件。

这个组件的主要功能有以下几点:

  1. 它能支持富文本的渲染和编辑,这可能包括HTML标签(如table、video、svg等)、事件效果(如自动预览图片、链接处理等)以及锚点跳转、长按复制等功能。
  2. 它还支持大部分HTML实体,这使得用户可以在小程序中看到更丰富的内容。
  3. 这个组件还有丰富的插件,例如关键词搜索和内容编辑等,这可以大大增强用户的使用体验。
  4. mp-html富文本组件的使用效率高、容错性强且轻量化,安装包大小约为24.5KB,gzipped后只有9KB。

更多属性以可以参考官方文档,例如在原生平台上,可以通过npm方式安装组件包,然后在项目目录下构建npm,并在需要使用该组件的页面的json文件中添加相应的配置信息。

二、使用方法

1.原生平台

1.npm 方式:

本方法仅适用于微信、QQ 小程序

  1. 在小程序项目根目录下通过 npm 安装组件包
npm install mp-html 
  1. 在开发者工具中勾选使用 npm 模块(若没有此选项则不需要)
使用 npm 模块 
  1. 点击构建npm模块
工具 - 构建 npm 
  1. 在需要使用的页面的 json 文件中添加
{   "usingComponents": {     "mp-html": "mp-html"   } } 
  1. 在页面中使用
{html}}">加载中... 
  1. 在需要使用页面的 js 文件中添加
Page({   onLoad() {     this.setData({       html: '
Hello World!
' }) } })

2.源码引入

本方法适用于所有平台

  1. 将 源码 中对应平台的代码包(dist/platform)拷贝到 components 目录下,更名为 mp-html(获取源码的方式可以查看官方文档)
  2. 在需要使用页面的 json 文件中添加
{   "usingComponents": {     "mp-html": "/components/mp-html/index"   } } 

支持的 属性 和 事件 见对应文档

2.uniapp平台

1.uni-modules 方式

本方法需要使用 3.1.0+ 版本的 HBuilder X 开发

  1. 进入 插件市场,点击右上角的 使用 HBuilder X 导入插件 按钮导入项目或点击 下载插件ZIP 按钮下载插件包并解压到项目的uni_modules/mp-html 目录下
  2. 在需要使用页面的 (n)vue 文件中添加
  
  1. 需要更新版本时在 HBuilder X 中右键 uni_modules/mp-html 目录选择 从插件市场更新 即可

2.源码方式

  1. 将 源码 中 dist/uni-app 内的内容拷贝到 项目根目录 下
  2. 在需要使用页面的 (n)vue 文件中添加
  

3.npm 方式

  1. 在项目根目录下通过 npm 安装组件包
  2. 在需要使用页面的 (n)vue 文件中添加
  

使用 cli 方式运行的项目,通过 npm 方式引入时,需要在 vue.config.js 中配置 transpileDependencies,详情可见 #330

如果在 nvue 中使用还要将 dist/uni-app/static 目录下的内容拷贝到项目的 static 目录下,否则无法运行

更多方式可查看官方文档


三、应用示例

1,直接在uniapp插件市场下载并导入HBuilderX
在这里插入图片描述

2,在uniapp中创建一个页面,使用mp-html

 

3,在js中引入一个.vue文件,并在组件中声明

import mpHtml from '@/uni_modules/mp-html/components/mp-html/mp-html.vue' 
components: { 	mpHtml }, 

4,定义一个data对应mp-html引用的数据,以及一个远程的html文件的路径,mp-html内容的样式可以定义在tagStyle中

data() { 	return { 		html: '', 		htmlUrl: 'https:baidu/**.html', /*这里是编的*/ 		tagStyle: { 			overflow: 'hidden;', /* 禁用横向滚动 */ 			p: 'font-size: 16px;color:#1F2329: line-heiaht: 1.4; padding:0; margin-block-start: 1.2em; margin-block-end: 1.2em;' 				}, 	} } 

5,定义一个方法使用uniapp的函数(这个函数是用来从指定的URL加载HTML代码),在页面创建时加载html的数据并渲染到页面中

loadExternalHtml() { 	uni.request({ 		url: this.htmlUrl, // 外部HTML页面的URL 		success: (res) => { 			this.html = res.data; 		}, 		fail: (err) => { 			console.error(err); 		}, 	}); }, 
mounted() { 	this.loadExternalHtml(); }, 

相关内容

热门资讯

26年最新开挂版!方片十三张辅... 26年最新开挂版!方片十三张辅助透视挂,清远佬麻将是有外挂,一贯有挂分享1、进入到方片十三张是否有挂...
26年最新开挂版!杭州都莱辅助... 26年最新开挂版!杭州都莱辅助透视挂,腾龙确实有外挂,竟然有挂教学1、首先打开杭州都莱辅助器下载最新...
26年最新开挂版!同城跑胡子合... 26年最新开挂版!同城跑胡子合集辅助透视挂,约战武汉麻将真的有外挂,一直证实有挂1、玩家可以在同城跑...
26年最新开挂版!经典联盟辅助... 26年最新开挂版!经典联盟辅助透视挂,聚友联盟确实有外挂,本来的确有挂1、经典联盟破解器简单,经典联...
26年最新开挂版!同城上饶辅助... 26年最新开挂版!同城上饶辅助透视挂,鹰潭麻将真的是有外挂,都是有挂工具1、同城上饶公共底牌简单,同...
26年最新开挂版!蜀渝牌乐汇辅... 26年最新开挂版!蜀渝牌乐汇辅助透视挂,友友麻将存在有外挂,本来有挂详细1、完成蜀渝牌乐汇有辅助插件...
26年最新开挂版!滇南棋牌辅助... 26年最新开挂版!滇南棋牌辅助透视挂,中至常熟麻将真的有外挂,一直有挂工具1)滇南棋牌免费钻石:进一...
26年最新开挂版!微乐河北麻将... 26年最新开挂版!微乐河北麻将辅助透视挂,雀友圈斗地主真的有外挂,竟然真的有挂1、下载好微乐河北麻将...
26年最新开挂版!渔乐大咖辅助... 26年最新开挂版!渔乐大咖辅助透视挂,福星麻将真的有外挂,原来有挂解密1、下载好渔乐大咖脚本下载之后...
26年最新开挂版!腾龙娱乐辅助... 26年最新开挂版!腾龙娱乐辅助透视挂,边锋老友扎旗麻将是真的有外挂,总是竟然有挂1、金币登录送、破产...