html代码编辑器sp,在线HTML编译,文本关键字高亮显示,富文本编辑实现大概思路...
????最近被安排做了一个HTML在线编译功能,也利用这个机会对HTML在线编译,关键字高亮,富文本编辑器等的实现做了一些比较表面的研究,做简要记录,以便再次遇到作为参考。
????在线HTML编译
????首先需要一个能够输入及展示HTML代码的文本框,若只是显示普通HTML代码,使用即可(w3school在线编译功能即如此)。若还要在其中实现标签及关键字高亮,则使用
????使用实现,textarea为代码输入框,旁边需要一个iframe来展示代码运行结果。
????核心JS代码:
????function run(){
var iframeContent=$(".mysource").val();
var iFrame=document.getElementById("container").contentWindow;
iFrame.document.open();
iFrame.document.write(iframeContent);
iFrame.document.close();
}
????var iframeContent=$(".mysource").val()来获取textarea内容;
????var iFrame=document.getElementById("container").contentWindow得到iframe对象;
????iFrame.document.write(iframeContent)将textarea内容写入iframe得到结果。
????若涉及到从外部向textarea导入代码,可考虑设置不可见iframe在textarea之前,iframe中也需设置textarea,获取iframe中textarea内容,并将其赋给显示代码处的textarea,核心代码如下:
????function go1(){
????var win = document.getElementById(‘demo1‘).contentWindow.document.getElementById(‘code‘).value;
????document.getElementById("mysource").value=win;
}
????文本关键字高亮
????通常用
????核心JQ代码:
????$(document).ready(function() {
???? var key = "高亮字";
???? $("#keyword").html(function() {
???? return $(this).text().replace(key,""+key+"");
???? });
????多关键字:
????
txt.innerHTML = txt.innerHTML.replace(/(文章)|(关键字)|(功能)/gi,"$1$2$3");
txt为div。
????富文本编辑器
????富文本编辑器往往需要对字体大小,颜色,插入图片,表情等做众多改变,目前用得最多、兼容性最好的还是iframe方式。
????先将iframe标签通过:
????var edit=document.getElementById("myedit").contentWindow;
????edit.document.designMode="On";
????edit.document.contentEditable="ture";????
将其设置为可编辑状态。换而言之,HTML在线编辑器就是一个可编辑的iframe。
具体功能实现:
浏览器已经提供了实现这些功能的接口execCommand:
iframe.contentWindow.document.execCommand(cmd, isDefaultShowUI, value);
????execCommand具体使用参见下篇博文。
????
????以上为在线HTML编译,文本关键字高亮,富文本编辑器实现大致思路,由于他们功能看似类似,实则不然,所以放在一起以便对比讨论。
????新手,欢迎高手批评指正。
原文:http://www.cnblogs.com/xiangxs/p/5120574.html
html代码编辑器sp,在线HTML编译,文本关键字高亮显示,富文本编辑实现大概思路...相关推荐
- 哪款Mac代码编辑器好用?Mac文本代码编辑器推荐—-CudaText for Mac
一款好的代码编辑器可以使工作更有效率,今天要给大家推荐一款Mac文本代码编辑器推荐--CudaText.CudaText Mac版是一款轻便好用的跨平台文本代码编辑器,具有很好的配置可能性和许多高级功 ...
- 代码编辑器控件ICSharpCode.TextEditor的关键字高亮以及代码折叠功能
SharpDevelop (#develop)有很多"副产品",其中最出名的应算SharpZipLib (#ziplib),纯C#的ZIP类库, 而在SharpDevelop (# ...
- java 富文本 xss_KindEditor开源富文本编辑框架XSS漏洞
原标题:KindEditor开源富文本编辑框架XSS漏洞 *原创作者:卫士通 安全服务事业部 天龙,叶龙,本文属FreeBuf原创奖励计划,未经许可禁止转载 0×01 前言 KindEditor 是一 ...
- html手机端富文本,pc端富文本编辑的字符串在手机端适配
此方法依赖于lib-flexible,直接替换其中的字符串就可以了 transformHtmlStr(str) { let vm = this; const ZPXRegExp = /(\d+)px/ ...
- python代码编辑器、最好_这十大文本/代码编辑器最好用
10款最著名的代码(文本)编辑器,作为程序员的你喜欢哪个,哪种代码编辑器最入你的法眼.代码编辑器对我们的用途有多大呢? 通常操作系统和软件开发包中都包含文本/代码编辑器,可以用来编辑配置文件,文档文件 ...
- python代码编辑器排行榜-写 Python 哪个编辑器 / IDE 最好用?
不请自来嘻嘻,简单介绍一下几款好用的编写器,希望对你有帮助- 1.IDLE IDLE是开发 python 程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择 ...
- 定义快捷代码_nodepad++代码编辑器替代工具整理
概述 代码编辑工具选择 Visual Studio Code VS vode特点: 开源,免费: 自定义配置 集成git 智能提示强大 支持各种文件格式(html/jade/css/less/sass ...
- java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯
获取[下载地址] QQ: 313596790 官网 http://www.fhadmin.org/ A 代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B 集成代码生成器 [ ...
- 推荐:常用的代码编辑器!
1.VS Code Visual Studio Code(简称VS Code)是一款由微软开发且跨平台的免费源代码编辑器. Visual Studio Code 默认支持非常多的编程语言,包括 Jav ...
最新文章
- JavaMoney规范(JSR 354)与对应实现解读
- python的变量作用域
- 程序员刚结婚3天,老婆疑似骗婚?聊天记录曝光,网友:拜金实锤
- leetcode 1338. Reduce Array Size to The Half | 1338. 数组大小减半(Java)
- C/C++之string类小结
- linux修改ip dhcp,Linux下在静态IP与动态DHCP之间切换的脚本
- hint oracle qbname_从才oracle中找到所有列名为BANK_ACC,且BANK_ACC=000的项,并将BANK_ACC=000000的项修改为BANK_ACC=111...
- ls一1测距仪说明书_小米又推爆品:99元杜克LS-P激光测距仪,已获红点和iF大奖...
- nginx+php使用open_basedir限制站点目录防止跨站
- 创建数组-直接法/增量法 namelengthmax isvarname iskeyword
- redis学习-03
- “菜鸟”和“大神”de区别
- MVC中单选按钮的实现
- 几大技术体系极其应用
- excel工作薄密码破解/清除
- [模型调研]实体消歧
- Vue开发历程---音乐播放器的继续
- 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
- Solved ERROR: Could not build wheels for hdbscan which use PEP 517 and cannot be installed directly
- Tengine + BabaSSL ,让国密更易用!
热门文章
- java ee cdi_Java EE CDI ConversationScoped示例
- drools的guvnor_Drools Guvnor –管理访问
- 应用程序服务器迁移:从JBoss EE5到Wildfly EE7
- jsf tree组件_JSF和“立即”属性–命令组件
- 在Python,Java和Kotlin中标记参数和重载
- 春天:注入列表,地图,可选对象和getBeansOfType()陷阱
- 跟踪异常–第4部分– Spring的邮件发件人
- GlassFish 4升级的构建,Gradle和嵌入式应用服务器
- 番石榴分配器vs StringUtils
- 在WebLogic 12c上运行RichFaces