用什么样的Web编辑器,eWebEditor,kindeditor还是FCKEditor

用什么样的Web编辑器,eWebEditor,kindeditor还是FCKEditor,第1张

我接触的第一个Web编辑器是eWebEditor。它是国产的,在IE7及以下的版本中效果是非常不错的,不兼容IE8及火狐,而且使用不当就会留下上传漏洞的隐患。这样的编辑器,还是不要用了(很想支持国产,但是)

放弃eWebEditor后,我选择了kindeditor。它是老外开发的,能兼容目前所有版本的浏览器,纯静态(文件上传需要自

己实现,小问题)。但是它不支持Word表格的复制(就是不能直接从Word上复制表格到编辑器中),而且会经常出现图文丢失的现象,郁闷,我还是不用了(老外的东西也不一定好,)

前段时间接触了FCKEditor,发现这个编辑器相当不错,查了一下,网上大家对它的评价超高(貌似淘宝也是用的这个编

辑器)。它也是老外开发的,能兼容目前所有版本的浏览器,对Word的支持非常好,复制表格没有一点变形。到目前为

止,我已经在两个项目中使用了这个编辑器,一个是基于PHP的订餐系统,另外一个是基于ASP的公司网站,FCKEditor对PHP,ASP以及ASPNET的支持都很好,使用起来非常方便。

编辑器的安全问题一直是一个令很多人头痛的问题,这主要在于文件上传上。各种编辑器默认情况下都没有对文件上传

进行身份认证(它也不可能实现一个通用的身份认证),开发者必须根据自己系统的情况加入适当的身份认证代码。另外

编辑器允许的文件上传类型也需要进行严格的限制,例如eWebEditor允许在后台修改上传文件类型,这样一旦歹徒获取后

台密码,即可轻易上传任意格式的文件。低版本的FCKEditor(好像是21以下的版本)默认情况下允许上传任意格式的文件。

总结一下FCKEditor的使用(以265版为例):

(1)精简,"言多必失",文件多了也是一种隐患。FCKEditor支持多种服务器脚本语言,实际使用的时候我们根本用不了那么多文件,我们要根据自己的需要对其进行精简。

对于ASP系统来说:

FCKEditor根目录,仅保留"fckeditorasp,fckconfigjs,fckeditorjs,fckpackagerxml,fckstylesxml,

fcktemplatesxml"这些文件以及editor目录。删除示例目录"_samples"。

"fckeditor\editor\filemanager\connectors"目录下面仅保留"asp"目录,删除其它目录和文件。

对于PHP系统来说:

FCKEditor根目录,仅保留"fckeditorphp,fckeditor_php4php,fckeditor_php5php,fckconfigjs,fckeditorjs,

fckpackagerxml,fckstylesxml,fcktemplatesxml"这些文件以及editor目录。删除示例目录"_samples"。"fckeditor\editor\filemanager\connectors"目录下面仅保留"php"目录,删除其它目录和文件。

(2)修改文件上传采用的脚本程序(语言)。

默认的FCKEditor文件上传程序为asp,如果是用在asp系统中,那就不用再修改了。

如果是用在PHP系统中的话,需要做如下修改,打开fckconfigjs

找到:

var _FileBrowserLang ge = asp

var _QuickUploadLang ge = asp

改成:

var _FileBrowserLang ge = php

var _QuickUploadLang ge = php

(3)开启文件上传,修改文件上传目录。

对于ASP系统来说:

打开fckeditor\editor\filemanager\connectors\asp\configasp

启用文件上传:

找到:

ConfigIsEnabled = false

改成:

ConfigIsEnabled = tr

设置上传存放目录:

找到:

ConfigUserFilesPath = "/admin/uppic/"

改成:

ConfigUserFilesPath = "自定义的路径"

对于PHP系统来说:

打开fckeditor/editor/filemanager/browser/default/connectors/php/configphp

启用文件上传:

找到:

$Config[Enabled] = false

改成:

$Config[Enabled] = tr

设置上传存放目录:

找到:

$Config[UserFilesPath] = /userfiles/

改成:

$Config[UserFilesPath] = 自定义的路径

(4)修改上传文件命名方式。

FCKEditor上传文件,文件名采用原文件名,如果想采用自定义的文件命名方式(比如,随即名称),可以修改如下地

方:

对于ASP系统来说:

打开fckeditor\sample\edit\editor\filemanager\connectors\asp\commandsasp

找到:

sFileName = SanitizeFileName( sFileName )

将该句改为自定义的文件命名格式,例如:

dim RndStr

Randomize

RndStr = Cstr(Fix(9000rnd()+1000)) 产生一个随机数

sFileName =year(date)&month(Date)&day(Date)&hour(time)&minute(time)&second(time)&RndStr &"" &

tension

对于PHP系统来说:

打开fckeditor\editor\editor\filemanager\connectors\php\commandsphp

找到:

$sOriginalFileName = $sFileName ;

在该句前面加入:

// 初始化种子

$sstr =split(" ",microtime(),5);

$seed =$sstr[0]10000;

// 使用种子初始化随机数发生器

srand($seed);

// 生成指定范围内的随机数

$random =rand(1000,10000);

// 合成随即的文件名

$sFileName = date("YmdHis", time())$random""$tension;

(5)FCKEditor在程序中引用方式。

对于ASP系统来说:

需要包含下面的头文件

<!--#incl file="fckeditor/fckeditorasp"-->

在编辑器所在的位置添加如下代码:

<%

Dim oFCKeditor

Set oFCKeditor = New FCKeditor

oFCKeditorBasePath = "/fckeditor/" 这个路径必须是相对于站点根目录的路径,设置错误编辑器

将无法显示

oFCKeditorToolbarSet="Default"

oFCKeditorWidth = "98%"

oFCKeditorHeight= "500px"

oFCKeditorVal = "" 设置默认值

oFCKeditorCreate "shangpin_description" 编辑器的id,相当于input标签的name属性值,这里是

shangpin_description

%>

对于PHP来说:

在编辑器所在的位置添加如下代码:

<php

incl("fckeditor/fckeditorphp"); // 头文件

$oFCKeditor = new FCKeditor("shangpin_description") ; // 编辑器的id,相当于input标签的

name属性值,这里是shangpin_description

$oFCKeditor->BasePath="/fckeditor/ " ; //设置FCKeditor路径

$oFCKeditor->ToolbarSet ="Default";

$oFCKeditor->Width="98%";

$oFCKeditor->Height="500px";

$oFCKeditor->Val=""; // 设置默认值

$oFCKeditor->Create();

>

(6)获取FCKEditor中的数据。

对于服务器端脚本程序来说,将"编辑器的id"当做input标签的name属性值来获取即可,例如:

在ASP中reqst("shangpin_description"),在PHP中$_REQST["shangpin_description"]

JS中用FCKeditorAPIGetInstance(shangpin_description)GetXHTML(tr)得到shangpin_description对应的值

KindEditor的可视化 *** 作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要将HTML数据同步到原来的textarea,editorsync()函数会完成这个动作。

KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加sync函数,所以用form方式提交数据,不需要手动执行sync()函数。

Step 1 下载KindEditor

首先到KindEditor官网下载(目前是417版本),解压后删除jsp、php、asp、examples文件夹,放入AspnetMVC项目中的Scripts文件夹中。

Step 2 添加HomeController

public class HomeController : Controller

{

//

// GET: /Home/

[ValidateInput(false)]

public ActionResult Index()

{

return View();

}

[ValidateInput(false)]

[>

先获取编辑器的html 复制给一个div 或者 span 标签

然后从div或者span 标签找img标签就好了

<head>

<title></title>

<script src="/js/jquery-171minjs" type="text/javascript"></script>

<script language="javascript">

function sdsfsf() {

var divhtm = $("#div1")html();//编辑器的代码

$("#div2")html(divhtm);//转存的div

var imgarr = $("#div2")find("img");//找到的img标签

}

</script>

</head>

<body>

<div id="div1">

<img src="/images/addpng" />

<img src="/images/addpng" />

<img src="/images/addpng" />

<img src="/images/addpng" />

<img src="/images/addpng" />

</div>

<div id="div2"></div>

<input type="button" value="23232" onclick="sdsfsf()" />

</body>

以上就是关于用什么样的Web编辑器,eWebEditor,kindeditor还是FCKEditor全部的内容,包括:用什么样的Web编辑器,eWebEditor,kindeditor还是FCKEditor、<textarea> 采用kindeditor编辑器,结果在表单提交时,javabean没有获得<textarea>的内容,请问什么原因、net MVC 中怎么使用kindeditor等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9567364.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存