美文网首页
“发布公司公告,有图有文字的那种”

“发布公司公告,有图有文字的那种”

作者: Moombahton | 来源:发表于2019-11-13 22:26 被阅读0次

某天,当我安安静静的在敲代码,突然业务同事问我,
-‘hi,我们可以做公司公告的子应用吗?’
-‘当然可以’
-‘那,可以发布公告吗?有图有文字的那种!’
-‘你让我想想’

开启面向Google编程模式

划重点,核心API ===>document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)

MDN 上的介绍

当一个HTML文档切换到设计模式时,document暴露 **execCommand **方法,该方法允许运行命令来操纵可编辑内容区域的元素。

大多数命令影响documentselection(粗体,斜体等),当其他命令插入新元素(添加链接)或影响整行(缩进)。当使用contentEditable时,调用 execCommand() 将影响当前活动的可编辑元素。

话不多说,开始行动

  1. 首先需要准备一个div用来承放内容,contenteditable属性置为true,准备几个按钮对编辑区域进行操作
 <button @click="execCommand('bold')">加粗</button>
 <div class="editor" contenteditable="true" />

2.实现几个简单的文本效果

  • 加粗 execCommand('bold')
  • 添加水平线 execCommand('insertHorizontalRule')
execCommand (name, args = null) {
  document.execCommand(name, false, args)
 }
  • 添加链接 createLink ()
 createLink () {
  let url = window.prompt('请输入链接地址')
  if (url) this.execCommand('createLink', url)
}

3.上传图片(以本地图片为例,也可将图片上传服务器后再进行添加)。

// html
<button class="upload-img" >插入图片
   <input  type="file"  @change="insertImg($event)">
</button>
// js
  insertImg (e) {
      console.log(e.target.files[0])
      let reader = new FileReader()
      let file = e.target.files[0]
      reader.onload = () => {
        let base64Img = reader.result
        console.log(base64Img)
        this.execCommand('insertImage', base64Img)
        document.querySelector('.upload-img input').value = ''
      }
      reader.readAsDataURL(file)
    },

当我以为一切都结束的时候,‘诶?如果想撤销编辑内容咋整?还有回复?’

不复杂,继续给execCommand()传入相应的命令呗,第二步相同的方法,改一下传入的参数即可。

  • 撤销 execCommand('undo')
  • 恢复 execCommand('redo')

最后,来看一下实现效果。


测试一下

(完)

相关文章

  • “发布公司公告,有图有文字的那种”

    某天,当我安安静静的在敲代码,突然业务同事问我,-‘hi,我们可以做公司公告的子应用吗?’-‘当然可以’-‘那,可...

  • 我的七月总结

    文字有文字的美,导图有导图的炫!我的七月清晰明了!

  • 生活趣味展示

    发布四大方向之一“生活趣味”类的朋友圈,文字➕配图,截图上传图片并分享感受! 照片有美感,文字有叙事性和共鸣,一定...

  • 朋友圈设计细节

    1.状态发布 点击相机,拍照录视频(隐藏:长按相机发纯文字状态),鼓励有图有真相,充实朋友圈的内容,这个大家都知道...

  • 我所理解的那种有“生命的温度”的文字

    读完《故宫的隐秘角落》一书的作者自序,我立刻就对这书充满了期待,序言中那段“冬日的黄昏,……锁上古旧木门,然后沿着...

  • 移动端消息发布功能分析 QQ说说vs新浪微博vs微信朋友圈

    [迭代-发布文字,图文的操作流程,与功能测试结果] 微博发布内容流图如下: 微信朋友圈发布内容流程图如下: QQ动...

  • 有你,有我,有文字!

    2017,转眼飞逝,在过去的一年中,经历了诸多和文字相关的事情。有喜悦,也有失落,总体来说,收获大于失去。 因为文...

  • 说hukou

    有些词是不是有忌讳啊,我写的文字发布不了~

  • 懒人必备! 创意现代粉笔艺术效果! | 素菜江湖

    今天,老板让豆豆做一套海报方案,要求有那种咱们上学的时候的黑板上那种效果,文字、人物都要像那种粉笔画出来的。 文字...

  • 文字的魅力

    我无法释怀 那种感觉 身体 和心灵 在文字中徜徉 我喜欢的文字 有古人书法绘画篆刻中的 有小说中的 有能看得懂的中...

网友评论

      本文标题:“发布公司公告,有图有文字的那种”

      本文链接:https://www.haomeiwen.com/subject/efgkictx.html