方案:html+wkwebview,支持加粗、下划线、斜体、对齐方式、字体更改颜色、插入图片、插入视频、插入链接、清除格式、撤回上一个操作
核心:利用html5新特性contenteditable,当div的contenteditable为true时,div进入编辑状态,可以通过执行html5的命令对文本进行操作。命令文档地址:https://developer.mozilla.org/zh-TW/docs/Web/API/Document/execCommand。
具体实现:
一:文件目录
1.editor.html,该文件实现了编辑器的节点骨架,一个contenteditable为true的div。
2.ZJSTextEditor.js,该文件是编辑器的核心内容,主要实现编辑器的各种操作,以插入视频为例,外部的wkwebview只需要执行js方法evaluateJavaScript:‘zss_editor.insertVideo(...)’,将url带入zss_editor.insertVideo =function(videoUrl) {
var poster = videoUrl+'?vframe/jpg/offset/5/w/210';
var str = '';
zss_editor.insertHTML(str);
zss_editor.insertP();
zss_editor.deleteNode('deleteBr');
}
zss_editor.insertP