纯javascript的HTML在线编辑器
因工作需要,需使用 javascript 来操作 HTML 在线编辑器,在网上搜了许多,都是与服务器端相结合的,通过表单提交的方式来处理的。没办法,只好在此基础上对其进行更新!
参考的myeditor控件不知是哪位高人写的 。在此表示感谢 ! 首先,定义一全局变量,用于向 HtmlEditor 传递值:
原先控件的editfunc.js中的代码注掉了很多,删除掉了作为get方式传递的TextArea对象。
editfunc.js 中设置初值的方法,作了改变:
... {
varovalue=window.parent.EDITOR_DEFAULT_VALUE;
varhtml=ovalue;
if(html)
...{
varheader="<head><link rel="stylesheet" type="text/css" href="editorArea.css" /></head><body MONOSPACE>";
varf=window.frames["HtmlEditor"];
f.document.open();
//f.document.getElementsByTagName("BODY")[0].innerHTML = oLinkField.value;f.document.write(header+html);
f.document.close();
}}
我是用的动态生成方式,通过点击按钮生成HtmlEditor:
代码如下:
... {
if(!document.getElementById(framename))
...{
varHTMLEDITOR=document.createElement("iframe");
HTMLEDITOR.id=framename;
HTMLEDITOR.name=framename;
HTMLEDITOR.src=editorpath;
HTMLEDITOR.frameBorder="0";
HTMLEDITOR.marginHeight="0";
HTMLEDITOR.marginWidth="0";
HTMLEDITOR.height="238";
HTMLEDITOR.width="400";
document.getElementById(containername).appendChild(HTMLEDITOR);
}}
设置HtmlEditor的值的代码:
... {
HtmlEditor_Default_Value=html_text;
if(window.frames[framename].frames["HtmlEditor"]!=null)
...{
varhtml=window.frames[framename].frames["HtmlEditor"].document.getElementsByTagName("BODY")[0];
html.innerHTML=HtmlEditor_Default_Value;
}}
获得HtmlEditor的值的代码:
... {
varhtml=window.frames[framename].frames["HtmlEditor"].document.getElementsByTagName("BODY")[0].innerHTML;
if( (html.toLowerCase()=="<p> </p>")||(html.toLowerCase()=="<p></p>") )
...{
html="";
}returnhtml;
}
js源代码如下:
... {
varobj=document.getElementById("taContent");
obj.value="<b>粗体</b><i>斜体</i>";
}
// containername:存放iframe的容器名称 framename:HtmlEditor的iframe名称 editorpath:编辑器index.html的路径 function createEditor(containername,framename,editorpath)
... {
if(!document.getElementById(framename))
...{
varHTMLEDITOR=document.createElement("iframe");
HTMLEDITOR.id=framename;
HTMLEDITOR.name=framename;
HTMLEDITOR.src=editorpath;
HTMLEDITOR.frameBorder="0";
HTMLEDITOR.marginHeight="0";
HTMLEDITOR.marginWidth="0";
HTMLEDITOR.height="238";
HTMLEDITOR.width="400";
document.getElementById(containername).appendChild(HTMLEDITOR);
}}
// 设置初始值 function setEditorDefaultValue(text)
... {
EDITOR_DEFAULT_VALUE=text;
}
// 得到textarea的值 function getTextareaValue()
... {
varobj=document.getElementById("taContent");
returnobj.value;
}
// 获得HtmlEditor的带格式文本 framename:HtmlEditor的iframe名称 function getEditorHTML(framename)
... {
varhtml=window.frames[framename].frames["HtmlEditor"].document.getElementsByTagName("BODY")[0].innerHTML;
if( (html.toLowerCase()=="<p> </p>")||(html.toLowerCase()=="<p></p>") )
...{
html="";
}returnhtml;
}
// 设置HtmlEditor的文本 framename:HtmlEditor的iframe名称 html_text:带格式的文本 function setEditorText(framename,html_text)
... {
HtmlEditor_Default_Value=html_text;
if(window.frames[framename].frames["HtmlEditor"]!=null)
...{
varhtml=window.frames[framename].frames["HtmlEditor"].document.getElementsByTagName("BODY")[0];
html.innerHTML=HtmlEditor_Default_Value;
}}
源代码: 点此进入下载页面
博客园下载地址: http://www.cnblogs.com/Files/redleaf1995/editor.rar
纯javascript的HTML在线编辑器相关推荐
- javascript实现HTML在线编辑器
javascript实现HTML在线编辑器 以前一直不知道好多网站上所说的在线编辑器是怎么回事,后来在文档里发现document 对象的一个方法. document.execCommand(com ...
- 用Javascript 编写 HTML在线编辑器
在线编辑器主要有3大类:1.直接用textarea 标签 优点:速度快,提交方便,可以用UBB标签来弥补不能所见所得 缺点:不直观,功能非常少 2.用 DIV或者TABLE的CONTENTEDITAB ...
- Html、CSS、JavaScript 实时效果在线编辑器 - 学习的好工具,算不算?!
关于 二维码 与 NFC 之间的出身贫贱说 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 ...
- tinyMce在线编辑器内JavaScript实现按Ctrl+S无刷新保存
以前也用过几个编辑器拉,如FCK,CUTEDTOR等,它们大都实现了很不错了的功能,也有丰富的插件使用.不过我还是觉得TinyMCE在线编辑器好用,它是采用纯JS客户端脚本技术构建,是一个轻量级加载速 ...
- JavaScript Code在线编辑器--JSEditor
这是使用HTML编写的一个具有行号指示在线编辑器,具备类似VS.NET IDE的在编辑状态中的对象查询功能,同时具备一定的JavaScript调试功能. 下载地址:http://game.edu3w. ...
- 纯JavaScript二维码在线生成网页源码
介绍: 纯JavaScript实现二维码生成的网页源码,各位技术爱好者可以拿去研究, 支持设置二维码的各项具体内容,适合专业人士使用. 网盘下载地址: https://zijiewangpan.com ...
- 所见即所得的php编辑,常用所见即所得HTML在线编辑器汇总(15个)
基于Web的HTML编辑器,可视化编辑器,或者是富文本编辑器,是让用户在浏览器中输入富文本的一个Web组件.大多数时候 ,这些HTML编 辑器都 使用于CMS管理系统 中,让管理理或作者可以在后台轻松 ...
- html5在线编辑器 h,前端最好用的HTML在线编辑器是哪一款
<前端最好用的HTML在线编辑器是哪一款>要点: 本文介绍了前端最好用的HTML在线编辑器是哪一款,希望对您有用.如果有疑问,可以联系我们. 开发网站,一定会碰到HTML在线编辑器,我们详 ...
- html作品使用说明,HTML 在线编辑器使用说明
JSBIN 是一款HTML在线编辑器,以帮助那些要学前端或者正在学习前端的同学. 以下我们来看下这款工作的使用说明: 快速上手使用 打开页面后看到如下画面,网址列就是http://jsbin.com/ ...
最新文章
- Oracle ASM 详解 收藏
- 以下linux进程内存空间中按低地址,Linux 内核开发 - 进程空间
- 搭建PHP本地服务器(XAMPP)
- php 中间代码,PHP内核中用户函数、内部函数和中间代码的转换
- 需要写的一些pycoe
- Blackfin DSP学习心得与参考资料
- 位数(digits)的处理
- 高斯消元解线性方程组(浮点高斯消元模板)
- 从0开始写一个基于Flutter的开源中国客户端(7)——App网络请求和数据存储
- C语言教材市场的分析
- python怎么进阶_你真的会自学么?大佬整理的python进阶路径(长更)
- js中reduce()方法使用
- html5制作电子日历,基于HTML5的日历制作软件
- html5 sketchpad,Sketchpad:基于html5在线图像绘画板
- 如何检查java代码有误_Java代码查错题
- 如何修改图片的dpi?图片的dpi怎么调?
- du和df文件大小不一致问题排查
- vue2 与 vue3 生命周期对比
- NXP JN5169使用定时器进行PWM输出和定时功能
- 更改文件类型方法(文本文档改为lic文件)
热门文章
- QT下载速度慢的解决方法
- Python DistributedDataParallel(DDP)训练模型
- shell脚本:sh、bash、dash的关系
- 【问题解决】电脑能用QQ但是打不开网页
- 制造业MES生产管理系统程序代码 MES源码
- python百度地图标注,Python+百度地图实现地址多点标注--用上BMap了
- MySQL中的max_connections和max_user_connections 及 MySQL服务器最大连接数的合理设置
- OpenStack云平台搭建(3) | 部署Glance
- linux查看usb设备文件,Linux下查看USB设备信息
- 5-2 图书价格汇总