之前用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基础-Eclipse开发工具介绍
  2. 牛客练习赛24题解(搜索,DP)
  3. PostgreSQL学习笔记6之函数和操作符二
  4. 1010 Lehmer Code (35 分)(思路+详解+树状数组的学习+逆序对+map+vector) 超级详细 Come baby!!!
  5. 点击图片放大至原始图片大小
  6. Linux 环境变量PATH设置和查看etc/profile和bashrc的区别
  7. 图解丨在嵌入式设备上实现HTTP服务器
  8. 赠书5本包邮:数据思维实践、Cloud Native分布式架构原理与实践
  9. SQL Server中的版本号
  10. 亚马逊表示并未放弃WP平台:正在打造新应用
  11. LINUX SHELL命令ls只列出目录名
  12. js如何获取一个object的第一个数据
  13. 女诗经,男楚辞
  14. 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包
  15. 计算机毕业设计JAVA二手物品置换平台mybatis+源码+调试部署+系统+数据库+lw
  16. Luogu P2708 硬币翻转 题解
  17. ERP-项目笔记—Day—08
  18. 广数928te_广数928te使用教材
  19. 淘宝天猫商家运营推广,淘宝超级推荐是什么
  20. 梅开二度!容联云AI荣登“千言数据集-语义解析”权威测评榜首

热门文章

  1. border-radius 构建规则讲解 及 50% 和 100% 的异同
  2. ABP实践(5)-abp前端vue框架之IView实现三级菜单(博友需要特此分享)
  3. 音视频开发之旅(66) - 音频变速不变调的原理
  4. 数据挖掘导论(Pang-Ning Tan)习题记录
  5. 从西刺代理爬取代理ip,并验证是否可用
  6. win10找不到gpedit.msc
  7. Open Inventor 10.9.2 Crack
  8. 【前端】Vue网络应用
  9. oracle pga建议值,对SGA和PGA的优化建议
  10. DCS、PLC与SCADA的区别