摘要:移動(dòng)端文檔富文本編輯器,支持圖文混排引用大標(biāo)題無(wú)序列表,字體顏色加粗斜體。可用于獨(dú)立項(xiàng)目開(kāi)發(fā),也可以用于與原生混合開(kāi)發(fā)。,圖片文件最大尺寸限制,單位,默認(rèn),編輯器左右內(nèi)邊距,默認(rèn)像素,是否顯示底部工具欄圖片標(biāo)簽連接添加等圖標(biāo)。
ZxEditor 移動(dòng)端HTML文檔(富文本)編輯器,支持圖文混排、引用、大標(biāo)題、無(wú)序列表,字體顏色、加粗、斜體。
可用于獨(dú)立web項(xiàng)目開(kāi)發(fā),也可以用于與原生App混合(hybrid)開(kāi)發(fā)。
源碼地址:https://github.com/capricornc...
本地運(yùn)行 Build Setup# 安裝依賴(lài) npm i # 運(yùn)行開(kāi)發(fā)模式 # 通過(guò) `http://localhost:9001` 可以訪問(wèn) npm run dev # 生成項(xiàng)目文件 npm run build使用 Use
npm
npm install zx-editor --save-dev
html
注意:添加照片時(shí),判斷照片方向,并自動(dòng)旋轉(zhuǎn)需要依賴(lài)插件 exif.js
ES6+
import { ZxEditor } from "zx-editor" // import { ZxEditor } from "./src/js/zx-editor/index.js"參數(shù) options
autoSave: Number,自動(dòng)保存編輯內(nèi)容至localStorage,單位秒。等于0則不自動(dòng)保存編輯內(nèi)容。
bottom: Number,底部距離。
fixed: Boolean,編輯器是否絕對(duì)定位,默認(rèn)為false。
imageMaxSize: Number,圖片文件最大尺寸限制,單位MB,默認(rèn)20
padding: Number,編輯器左右內(nèi)邊距,默認(rèn)15像素,
showToolbar: Array|Boolean,是否顯示底部工具欄(圖片、標(biāo)簽、連接添加等圖標(biāo))。
默認(rèn)為true,顯示全部圖標(biāo)。
Array可選值:["pic", "emoji", "text", "link"],數(shù)組中元素順序,決定按鈕的顯示順序。
top: Number,頂部距離,絕對(duì)定位時(shí),相對(duì)于WebView頂部的距離。
屬性 property
dialog: Object 消息提示框
alert、confirm、loading對(duì)話框
方法 | 說(shuō)明 |
---|---|
alert(msg, callback) | msg:提示消息, callback():回調(diào)函數(shù) |
confirm(msg, callback) | msg:提示消息, callback(true或false):回調(diào)函數(shù) |
loading(msg) | msg:提示消息,默認(rèn)loading... |
removeLoading() | 移除loading元素節(jié)點(diǎn) |
zxEditor.dialog.alert("這是alert提示框", function () { // do something ... })
storage: Object 本地存儲(chǔ)
localStorage/sessionStorage
方法 | 說(shuō)明 |
---|---|
set(key, data, isSessionStorage) | key:存儲(chǔ)鍵名,會(huì)自動(dòng)加默認(rèn)前綴, data:需要存儲(chǔ)的數(shù)據(jù) |
get(key, isSessionStorage) | key:存儲(chǔ)鍵名,返回null或data |
remove(key, isSessionStorage) | 刪除key對(duì)應(yīng)的本地?cái)?shù)據(jù) |
isSessionStorage,可選參數(shù)。默認(rèn)值為false。
zxEditor.storage.set("content", {title: "標(biāo)題", content: "內(nèi)容"})方法 methods
on(notifyName, callback)
監(jiān)聽(tīng)編輯器部分通知
notifyName | callback(參數(shù)) | 說(shuō)明 |
---|---|---|
add-link | next() | 點(diǎn)擊底部添加連接圖標(biāo)時(shí)觸發(fā)。監(jiān)聽(tīng)此通知,將阻止編輯器默認(rèn)處理邏輯執(zhí)行 |
debug | messge | 消息通知 |
error | {code: 1, msg: "message"} | 錯(cuò)誤異常通知 |
select-picture | - | 點(diǎn)擊底部選擇圖片圖標(biāo)時(shí)觸發(fā)。監(jiān)聽(tīng)此通知,將阻止編輯器默認(rèn)處理邏輯執(zhí)行 |
show-emoji | - | 點(diǎn)擊底部emoji圖標(biāo)時(shí)觸發(fā) |
show-textstyle | - | 點(diǎn)擊底部文字樣式圖標(biāo)時(shí)觸發(fā) |
例子:
// 自定義選擇圖片 zxEditor.on("select-picture", _ => { // hybrid模式開(kāi)發(fā)時(shí),此處可以調(diào)用原生App提供的接口,訪問(wèn)圖片文件選擇列表 // 執(zhí)行圖片文件數(shù)據(jù)獲取, // 或者獲取由原生App處理并上傳完成的圖片url zxEditor.addImage("圖片url地址或base64圖片數(shù)據(jù)") // 其他操作... })
// 自定義添加鏈接 zxEditor.on("add-link", next => { // hybrid模式開(kāi)發(fā)時(shí),此處可以調(diào)用原生App提供的接口,訪問(wèn)剪貼板是否有url地址數(shù)據(jù) // 獲取到url地址、及其文檔title // 將鏈接添加至編輯器中 next(url, title) })
addFooterButton(option)
底部工具欄添加按鈕,option: Object|Array
// 底部工具欄添加一個(gè)“導(dǎo)語(yǔ)”按鈕 zxEditor.addFooterButton({ name: "summary", // 按鈕外容器樣式名稱(chēng) class: "demo-summary-button", // 按鈕內(nèi)i元素樣式名 icon: "", // 需要注冊(cè)的監(jiān)聽(tīng)事件名 on: "summary-button" }) // 或者 zxEditor.addFooterButton( [ { name: "summary", class: "demo-summary-button", icon: "", on: "summary-button" } ] )
addImage(src|base64)
向正文焦點(diǎn)處添加一張圖片,支持圖片url地址或base64數(shù)據(jù)
addMedia(url, type)
向正文焦點(diǎn)處添加圖片/音頻/視頻
圖片url地址或base64數(shù)據(jù)
音頻/視頻只支持url地址
url: String url地址
type: String, img|audio|video
getBase64Images()
獲取正文中所有base64數(shù)據(jù)的圖片,返回一個(gè)數(shù)組
@return array
[ { id: "zxEditor_img_1500001511111", base64: "data:image/jpeg;base64,/9j4AAQSkZJDAAkGB+wgH....", blob: "Blob數(shù)據(jù),可以用于直接上傳,或通過(guò)方法toBlobData(base64)轉(zhuǎn)換" } ]
insertElm($el, tag)
向正文焦點(diǎn)處添加任意dom元素$el
$el: HTMLElement
tag: String, 可選參數(shù),dom元素標(biāo)簽,如img/div/h2等
toBlobData(base64)
將圖片base64轉(zhuǎn)換為原始數(shù)據(jù)類(lèi)型Blob(),該數(shù)據(jù)和表單中提交上傳的數(shù)據(jù)同類(lèi)型,故可以直接上傳
@return new Blob() 返回Blob()數(shù)據(jù)
setImageSrc(imgId, imgUrl)
將ID為imgId的圖片base64地址,替換為新的imgUrl。需配合getBase64Images()方法使用。
@return boolean
getContent(isInnerText)
獲取正文內(nèi)容html。
@params "isInnerText"可選,默認(rèn)為false,獲取編輯器innerHTML。否則獲取innerText。
setContent(innerHTML)
設(shè)置編輯器內(nèi)容,可用于初始化編輯器數(shù)據(jù)。
stopAutoSave()
開(kāi)啟自動(dòng)保存時(shí)有效。停止自動(dòng)保存編輯數(shù)據(jù)。
save()
保存編輯器內(nèi)容
removeSave()
移除本地存儲(chǔ)的content內(nèi)容
filesToBase64(files, opts, callback)
圖片文件數(shù)據(jù)轉(zhuǎn)為base64/blob
參數(shù) | 類(lèi)型 | 說(shuō)明 | ||
---|---|---|---|---|
files | 文件類(lèi)型 | 文件數(shù)據(jù)數(shù)組 | ||
opts | Object | 圖片壓縮或裁剪參數(shù){width:100,height:100,clip:true} | ||
callback(errorArray, dataArray) | errorArray:`null | Array, dataArray:null | Array` | 文件處理完成回調(diào)函數(shù) |
dataArray
null // 或者 [ { // 處理完成的dom節(jié)點(diǎn)對(duì)象 element: "canvasElement|imageElement", // 文件類(lèi)型 type: "image/png", // 處理完成的圖片寬度,根據(jù)傳入的參數(shù)定 width: 100, // 處理完成的圖片高度 height: 100, // blob數(shù)據(jù) data: "blob數(shù)據(jù)", // base64數(shù)據(jù) base64: "base64", // 文件大小B size: 15455, // blob url地址 url: "blobUrl", // 原始圖片數(shù)據(jù)參數(shù) rawdata: {} } ]
源碼地址:https://github.com/capricornc...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96691.html
摘要:也是一款優(yōu)秀的響應(yīng)式框架站點(diǎn)所使用的一套框架為微信服務(wù)量身設(shè)計(jì)的一套框架一組很小的,響應(yīng)式的組件,你可以在網(wǎng)頁(yè)的項(xiàng)目上到處使用一個(gè)可定制的文件,使瀏覽器呈現(xiàn)的所有元素,更一致和符合現(xiàn)代標(biāo)準(zhǔn)。 GitHub 值得收藏的前端項(xiàng)目 整理與收集的一些比較優(yōu)秀github項(xiàng)目,方便自己閱讀,順便分享出來(lái),大家一起學(xué)習(xí),本篇文章會(huì)持續(xù)更新,版權(quán)歸原作者所有。歡迎github star與fork 預(yù)...
摘要:混合式開(kāi)發(fā)做出的手機(jī)應(yīng)用無(wú)論在性能還是易用性方面都很接近原生應(yīng)用。下面介紹幾個(gè)流行的混合式開(kāi)發(fā)框架。相比于其他開(kāi)發(fā)框架,更加輕量,體積小巧。 目前混合式開(kāi)發(fā)已經(jīng)逐漸成熟,混合式app開(kāi)發(fā)只需要要求開(kāi)發(fā)者會(huì)使用css和js前端代碼就可以實(shí)現(xiàn)手機(jī)app應(yīng)用的開(kāi)發(fā),而不需要再去學(xué)習(xí)安卓或蘋(píng)果開(kāi)發(fā),降低了app開(kāi)發(fā)的門(mén)檻。混合式開(kāi)發(fā)做出的手機(jī)應(yīng)用無(wú)論在性能還是易用性方面都很接近原生app應(yīng)用。...
摘要:混合式開(kāi)發(fā)做出的手機(jī)應(yīng)用無(wú)論在性能還是易用性方面都很接近原生應(yīng)用。下面介紹幾個(gè)流行的混合式開(kāi)發(fā)框架。相比于其他開(kāi)發(fā)框架,更加輕量,體積小巧。 目前混合式開(kāi)發(fā)已經(jīng)逐漸成熟,混合式app開(kāi)發(fā)只需要要求開(kāi)發(fā)者會(huì)使用css和js前端代碼就可以實(shí)現(xiàn)手機(jī)app應(yīng)用的開(kāi)發(fā),而不需要再去學(xué)習(xí)安卓或蘋(píng)果開(kāi)發(fā),降低了app開(kāi)發(fā)的門(mén)檻。混合式開(kāi)發(fā)做出的手機(jī)應(yīng)用無(wú)論在性能還是易用性方面都很接近原生app應(yīng)用。...
閱讀 1739·2021-09-26 09:46
閱讀 3017·2021-09-22 15:55
閱讀 2608·2019-08-30 14:17
閱讀 3027·2019-08-26 11:59
閱讀 1809·2019-08-26 11:35
閱讀 3155·2019-08-26 10:45
閱讀 3152·2019-08-23 18:28
閱讀 1106·2019-08-23 18:21