Sep17

【原创】TinyMCE开源文件管理插件推荐

Author: leeon  Click: 5677   Comments: 0 Category: javascript  Tag: tinymce,filemanager,responsive

     最近在编写自己的通用CMS系统,编辑器以前都是用的kindeditor,想换换口味,看了下百度推出的ueditor所见即所得编辑器,封装的文件管理插件很差很山寨,连最基本的文件管理删除功能都没有,这样对文件管理就很麻烦,而且还不能提供独立的文件管理功能来管理文件。

    索性研究了一下国外的编辑器,fckeditor/ckeditor编辑的文件管理能力不是很强大,看了下tinymce的文件管理插件相当高端大气上档次!但是他是收费的,没法用呀。搜索了一番发现一个tinymce高度集成的好插件“filemanager4tinymce”,最新的版本名字已经换成“responsive filemanager“名字了, http://www.responsivefilemanager.com/ 这个插件相比官方的收费插件一点都不弱,而且也提供了脱离tinymce对文件,图片,视频的管理能力,这样既可以高度整合到编辑器中,又可以不用在CMS中再写一套文件管理的后台功能,一举两得!

   关于这个插件跨域的问题,和其他编辑器中跨域的解决方案一致,在指定的地方添加document.domain即可,但是要注意他的php代码封装中对jquery和swfupload的js采取了走cdn外链的方式而且走的https协议,这样在国内网速的环境下打开管理页面会非常慢,所以找到 filemanager/dialog.php 文件搜索下里面的js引用,替换一下就好了。

Dec6

codemirror 在隐藏层状态下控件如何激活

Author: leeon  Click: 5926   Comments: 0 Category: javascript  Tag: codemirror

在codemirror的控件加载并隐藏div层中,再次display block的时候textarea加载的codemirror是没有正常激活的,当textarea中有文本内容时同样也无法正常显示。在官方的google groups中开发者给出了使用refresh()方法的提示,但是如果当切换隐藏层到显示层的时候,同时触发refresh方法并不能正常激活textarea重新加载,解决方法是使用timeout函数进行延时加载。

伪代码如下:

var editor=CodeMirror.fromTextArea(document.getElementById('textarea), {
  mode : 'shell',
  lineNumbers : true,
  matchBrackets : true
 });

 

代码块

$("#div").show()

setTimeout(function(){

editor.refresh();

},200);

May29

【原创】CodeMirror中使用shell库ie不兼容解决方案

Author: leeon  Click: 8200   Comments: 1 Category: javascript  Tag: javascript,codemirror,array,indexof

最近需要在项目中使用在线HTML编辑器编辑shell脚本,找了几个开源的js库发现codemirror非常轻量级且好用,最近的版本中已经加入了shell的支持,并且支持绝大多数主流的编程语言。但是在ie下调用codemirror提供的shell.js脚本库的时候无法正常使用,调试bug发现都卡在atoms.indexOf这个方法上。

[code="js"]
if (stream.peek() === '=' && /\w+/.test(cur)) return 'def';
if (atoms.indexOf(cur) !== -1) return 'atom';
if (commands.indexOf(cur) !== -1) return 'builtin';
if (keywords.indexOf(cur) !== -1) return 'keyword';
[/code]

搜索了下发现是ie下对数组不能直接使用indexof方法,于是借鉴此文:

http://blog.csdn.net/x123jing/article/details/7064312

的方法在代码头部加上了:

[code="js"]
if(!Array.indexOf)
{
Array.prototype.indexOf = function(obj)
{
for(var i=0; i<this.length; i++)
{
if(this[i]==obj)
{
return i;
}
}
return -1;
}
}
[/code]

于是问题解决,ie,ff,chrome都能正常使用了!

Dec7

jQuery UI accordion插件使用小记

Author: leeon  Click: 7132   Comments: 0 Category: javascript  Tag: jquery,ui,accordion

需要将accordion的所有tab全部收缩,默认情况下是默认展开第一个,查看jquery ui手册有collapsible属性可以设定,但是纯粹加这个属性并不能奏效,官网的demo也显示的有问题,第一个tab还是被展开了。搜索stackoverflow得到的答案:

[code="js"]
$( "#accordion" ).accordion({
collapsible: true,
active: false
});
[/code]

查看源代码:默认给active设置的0,这个参数影响了collapsible:true,导致第一个tab还是被展开了,这里需要强制将active设置成false

分类

标签

归档

最新评论

leo在17:57:04评论了
shell中使用while循环ssh的注意事项
呵呵哒啦在15:06:33评论了
【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
jayden在23:39:32评论了
shell中使用while循环ssh的注意事项
ligaofeng在11:55:22评论了
file_get_contents超时问题的解决方法
我也不知道叫个啥好在00:59:46评论了
shell中使用while循环ssh的注意事项

我看过的书

链接

其他

访问本站种子 本站平均热度:6343 c° 本站链接数:27 个 本站标签数:431 个 本站被评论次数:89 次