之前用mirrorcode作为前台编辑器,但是缺少代码提醒等快捷键操作,使用起来非常不便。后来考虑使用AceEditor。在一般情况下,我们需要引入的js库是两个:ace.js,ext-language_tools.js接下来就是按照ACE Editor的官方API指示进行搭建(如果看着有点迷的话,简易入门在此,去网上下载ace的包,地址:https://github.com/ajaxorg/ace/downloads)

第一步:引用JS

<script type="text/javascript" src="../libs/ace/ace.js"></script>
<script type="text/javascript" src="../libs/ace/ext-language_tools.js"></script>

第二步:初始化对象,设置相应属性(记得引用show_own_source.js,后续有用)

<script>//初始化对象editor = ace.edit("code");//绑定dom对象theme = "chrome";//主题language = "javascript";//程序语言editor.setTheme("ace/theme/" + theme);//设置主题editor.getSession().setMode("ace/mode/javascript");//设置程序语言editor.setFontSize(15);  //字体大小document.getElementById("code").style.lineHeight="25px";//设置行高;editor.setReadOnly(false);//设置只读(true时只读,用于展示代码)
//          editor.setOptions({
//              maxLines: "350px" //自适应高度
//          });//自动换行,设置为off关闭editor.setOption("wrap", "free");//启用提示菜单ace.require("ace/ext/language_tools");//以下部分是设置输入代码提示的editor.setOptions({enableBasicAutocompletion: true,enableSnippets: true,enableLiveAutocompletion: true});editor.setHighlightActiveLine(true); //代码高亮  editor.setShowPrintMargin(false);  //editor.setTheme('ace/theme/solarized_dark'); //引入模板  editor.getSession().setUseWorker(false);  editor.getSession().setUseWrapMode(true); //支持代码折叠  //editor.getSession().setMode('ace/mode/javascript'); //设置语言模式  editor.selection.getCursor(); //获取光标所在行或列//editor.gotoLine(lineNumber); //跳转到行editor.session.getLength(); //获取总行数// editor.insert("Something cool");editor.getSession().setUseSoftTabs(true);
</script>
<script src="./show_own_source.js"></script>

第三步:绑定容器

<div id = "code" class = "ace_editor" style = "height: 350px;min-height:inherit;max-height: 800px;"></div>

第四步:根据需要绑定初始化你要显示的html。以下是show_own_source.js种的源码。红色标注种可以绑定你要显示内容的html内容。当修改前端代码后,想运行最新的修改代码。那如何获取最新的内容呢?着难不倒我们,既然由el.env.editor.setValue(),那么就可以用el.env.editor.getValue()获取最新内容。

后续小编的主要精力放到GIS理论开发知识的大众化的道路了,通过浅显易懂的语言,结合多年行业应用开发,通过微信订阅号传播(每周更新三篇文章及相关GIS编码知识),为GIS的发展尽微博之力。终极目标是让GIS不再专业,让GIS更加大众,使得GIS深入各行业应用,让每位GISER都有一股自豪感!以下是我的微信订阅号二维码,感兴趣的可以交流沟通!

AceEditor使用小结相关推荐

  1. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  2. 正则表达式(括号)、[中括号]、{大括号}的区别小结

    正则表达式(括号).[中括号].{大括号}的区别小结 </h1><div class="clear"></div><div class=& ...

  3. php中$_REQUEST、$_POST、$_GET的区别和联系小结

    php中$_REQUEST.$_POST.$_GET的区别和联系小结 作者: 字体:[增加 减小] 类型:转载 php中有$_request与$_post.$_get用于接受表单数据,当时他们有何种区 ...

  4. c cin.get()的用法小结_c语言中static 用法

    static在c里面可以用来修饰变量,也可以用来修饰函数. 先看用来修饰变量的时候.变量在c里面可分为存在全局数据区.栈和堆里.其实我们平时所说的堆栈是栈而不是堆,不要弄混. int a ; int ...

  5. linux 压缩文件夹格式,Linux下常见文件格式的压缩、解压小结

    Linux下常见文件格式的压缩.解压小结 .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ...

  6. 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

    简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式.其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性. 本文是本人对这三种模式学习后的一个小结以及对他 ...

  7. flash 入门课知识小结

    一. 几种类型帧的小结:(关键帧.空白关键帧.普通帧) 1. 特点   帧--是进行flash动画制作的最基本的单位,每一个精彩的flash动画都是由很多个精心雕琢的帧构成的,在时间轴上的每一帧都可以 ...

  8. Eigen/Matlab 使用小结

    文章目录 [Eigen Matlab使用小结](https://www.cnblogs.com/rainbow70626/p/8819119.html) Eigen初始化 0.[官网资料](http: ...

  9. MATLAB【十三】————仿真函数记录以及matlab变成小结

    part one:matlab 编程小结. 1.char 与string的区别,char使用的单引号 '' ,string使用的是双引号"". 2.一般标题中的输出一定要通过 nu ...

最新文章

  1. JAVA GUI关闭按钮不起作用(用SwingWorker解决)
  2. 数据中心水冷系统一次泵与二次泵的选择
  3. java http参数传递_Java在HTTP请求中传递数组参数的方法
  4. 1001 A+B Format (20point(s))(Java和C++)
  5. 不越狱换壁纸_终于来了!iOS 14.3 正式版,可自动定时换壁纸
  6. log4j.xml引用Javaweb项目中配置文件的参数
  7. C++笔记(3)——string.h相关的一些小知识
  8. 3gpp协议_C-V2X: 3GPP协议阅读前的一些准备
  9. 你在闲鱼捡过最大的漏是什么?
  10. php执行cmd/shell命令 木马小后门
  11. oracle里的定时器,oracle中创建定时器
  12. 嘴上说着喜爱Java 9 ,身体却诚实地拥抱了Java 8
  13. 制作Windows 10系统盘 全过程『手机版』
  14. iPad被停用,安装iTunes提示安装包出错解决办法
  15. psd 解析 java_PSD解析工具实现(一)
  16. mysql在财务分析中的作用_财务报表分析的作用和目的
  17. 研究遭质疑,Jeff Dean回应:我们本就不是为得到新SOTA,成本计算也搞错了
  18. mysql用户主机设置密码_MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)...
  19. 哈佛结构与冯诺伊曼结构
  20. 我的世界java蜜蜂_在最新的《我的世界》Java版更新中 蜜蜂是所有的热点

热门文章

  1. Layui表单复选框验证
  2. FleaPHP 域名事件搞笑版
  3. 案例2:随机森林来填补缺失值
  4. 我对光学相干层析成像的理解
  5. java channel midi_为Java程序中添加播放MIDI音乐功能
  6. linux使分区生效,Linux 硬盘分区生效命令partprobe
  7. 操作系统——磁盘操作
  8. cmd(命令行)操作或连接mysql数据库,以及创建数据库与表
  9. udf,udaf,udtf区别与联系
  10. 嵌入式设备web服务器