网页上的Javascript编辑器和代码格式化


Posted in Javascript onApril 25, 2010

为什么不用textarea呢?

1 没有高亮

2 tab键无法使用。——按tab键会切换到下个控件

3 没有代码格式化。——因为习惯了Eclipse的环境,可以使用ctrl+shift+F来代码进行格式化。

当然,我还没强大到自己实现的程度,而且用脚趾头都能想到肯定有人实现了,就看找不找得着。

经过了艰难的搜索,终于在SourceForge上找到一个叫EditArea的项目,感觉挺好。http://sourceforge.net/projects/editarea/

它的sample也很清楚

在网页上用以下方法构造


<script language="Javascript" type="text/javascript" src="../edit_area/edit_area_full.js"></script> 
<script language="Javascript" type="text/javascript"> 
// initialisation 
editAreaLoader.init({ 
id: "example_1" // id of the textarea to transform 
,start_highlight: true // if start with highlight 
,allow_resize: "both" 
,allow_toggle: true 
,word_wrap: true 
,language: "zh" //国际化 
,syntax: "js" //代码的样式,支持js ,php,sql, 
//以下是格式化的支持 
,begin_toolbar: "btn_beautifier,|" //插入工具栏 
,plugins: "beautifier" //使用控件 
}); 
</script>

便可以在页面中出现代码的编辑框

网页上的Javascript编辑器和代码格式化

 

能够解决第一个和第二个问题,但是还能解决。

因此我又找啊找,找到这个网站:http://jsbeautifier.org/。这个网站做了一个js的格式化工具,甚至可以格式化经过某个混淆器混淆的js代码。

于是我根据上面项目中的插件规范,将这两个东东整合了起来。看上面图中的网页上的Javascript编辑器和代码格式化按钮,按下以后,就变成了网页上的Javascript编辑器和代码格式化

看,高亮和格式化都有了。

 

需要下载的可以从这里下载(已经包含代码格式化的插件了):editarea_0_8_2.zip

样例见\exemples\example.html

格式化的插件实现在\edit_area\plugins\beautifier\beautifier.js

Javascript 相关文章推荐
js禁止document element对象选中文本实现代码
Mar 21 Javascript
JS禁用浏览器退格键实现思路及代码
Oct 29 Javascript
简单选项卡 js和jquery制作方法分享
Feb 26 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
Mar 03 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
Nov 18 Javascript
JS动态创建元素的两种方法
Apr 20 Javascript
JS根据生日月份和日期计算星座的简单实现方法
Nov 24 Javascript
jquery中绑定事件的异同
Feb 28 Javascript
微信小程序 ecshop地址三级联动实现实例代码
Feb 28 Javascript
js获取文件里面的所有文件名(实例)
Oct 17 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 Javascript
解决在vue项目中webpack打包后字体不生效的问题
Sep 01 Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 #Javascript
javascript 二分法(数组array)
Apr 24 #Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 #Javascript
JavaScript 比较时间大小的代码
Apr 24 #Javascript
google 搜索框添加关键字实现代码
Apr 24 #Javascript
javascript XMLHttpRequest对象全面剖析
Apr 24 #Javascript
javascript之AJAX框架使用说明
Apr 24 #Javascript
You might like
isset和empty的区别
2007/01/15 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
python获得一个月有多少天的方法
2015/06/04 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
利用Python计算KS的实例详解
2020/03/03 Python
python openpyxl模块的使用详解
2021/02/25 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
计算机多媒体专业自荐信
2014/07/04 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
学校标语口号大全
2015/12/26 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL