‘壹’ web在线图片编辑器
qq空间中写日志写过了吧?你写的时候用的就是web在线文章编辑器了。
许多网站后台提交文章的时候,都有这个,让用户对自己的文章进行编辑,比如插入图片,设置文本式样等等。但是他们的web在线编辑器的式样和功能会有所不同。
‘贰’ 如何使用在线web编译器
fckedit嘛
‘叁’ WEB编辑器
ewebeditor
应该没打错字
‘肆’ web 编辑器问题
Frantpage
Dreamwear
‘伍’ 安卓手机有没有支持WEB文档的浏览器" 我使用的是百度浏览器系统说不支持系统显示此文档为“单个文件
用UC试试,或者安卓版的chrome
‘陆’ 用什么样的Web编辑器,eWebEditor,kindeditor还是FCKEditor
我接触的第一个Web编辑器是eWebEditor。它是国产的,在IE7及以下的版本中效果是非常不错的,不兼容IE8及火狐,而且使用不当就会留下上传漏洞的隐患。这样的编辑器,还是不要用了(很想支持国产,但是...)
放弃eWebEditor后,我选择了kindeditor。它是老外开发的,能兼容目前所有版本的浏览器,纯静态(文件上传需要自
己实现,小问题)。但是它不支持Word表格的复制(就是不能直接从Word上复制表格到编辑器中),而且会经常出现图文丢失的现象,郁闷,我还是不用了(老外的东西也不一定好,...)
前段时间接触了FCKEditor,发现这个编辑器相当不错,查了一下,网上大家对它的评价超高(貌似淘宝也是用的这个编
辑器)。它也是老外开发的,能兼容目前所有版本的浏览器,对Word的支持非常好,复制表格没有一点变形。到目前为
止,我已经在两个项目中使用了这个编辑器,一个是基于PHP的订餐系统,另外一个是基于ASP的公司网站,FCKEditor对PHP,ASP以及ASP.NET的支持都很好,使用起来非常方便。
编辑器的安全问题一直是一个令很多人头痛的问题,这主要在于文件上传上。各种编辑器默认情况下都没有对文件上传
进行身份认证(它也不可能实现一个通用的身份认证),开发者必须根据自己系统的情况加入适当的身份认证代码。另外
编辑器允许的文件上传类型也需要进行严格的限制,例如eWebEditor允许在后台修改上传文件类型,这样一旦歹徒获取后
台密码,即可轻易上传任意格式的文件。低版本的FCKEditor(好像是2.1以下的版本)默认情况下允许上传任意格式的文件。
总结一下FCKEditor的使用(以2.6.5版为例):
(1)精简,"言多必失",文件多了也是一种隐患。FCKEditor支持多种服务器脚本语言,实际使用的时候我们根本用不了那么多文件,我们要根据自己的需要对其进行精简。
对于ASP系统来说:
FCKEditor根目录,仅保留"fckeditor.asp,fckconfig.js,fckeditor.js,fckpackager.xml,fckstyles.xml,
fcktemplates.xml"这些文件以及editor目录。删除示例目录"_samples"。
"fckeditor\editor\filemanager\connectors"目录下面仅保留"asp"目录,删除其它目录和文件。
对于PHP系统来说:
FCKEditor根目录,仅保留"fckeditor.php,fckeditor_php4.php,fckeditor_php5.php,fckconfig.js,fckeditor.js,
fckpackager.xml,fckstyles.xml,fcktemplates.xml"这些文件以及editor目录。删除示例目录"_samples"。"fckeditor\editor\filemanager\connectors"目录下面仅保留"php"目录,删除其它目录和文件。
(2)修改文件上传采用的脚本程序(语言)。
默认的FCKEditor文件上传程序为asp,如果是用在asp系统中,那就不用再修改了。
如果是用在PHP系统中的话,需要做如下修改,打开fckconfig.js
找到:
var _FileBrowserLang ge = asp
var _QuickUploadLang ge = asp
改成:
var _FileBrowserLang ge = php
var _QuickUploadLang ge = php
(3)开启文件上传,修改文件上传目录。
对于ASP系统来说:
打开fckeditor\editor\filemanager\connectors\asp\config.asp
启用文件上传:
找到:
ConfigIsEnabled = false
改成:
ConfigIsEnabled = tr
设置上传存放目录:
找到:
ConfigUserFilesPath = "/admin/uppic/"
改成:
ConfigUserFilesPath = "自定义的路径"
对于PHP系统来说:
打开fckeditor/editor/filemanager/browser/default/connectors/php/config.php
启用文件上传:
找到:
$Config[Enabled] = false
改成:
$Config[Enabled] = tr
设置上传存放目录:
找到:
$Config[UserFilesPath] = /userfiles/
改成:
$Config[UserFilesPath] = 自定义的路径
(4)修改上传文件命名方式。
FCKEditor上传文件,文件名采用原文件名,如果想采用自定义的文件命名方式(比如,随即名称),可以修改如下地
方:
对于ASP系统来说:
打开fckeditor\sample\edit\editor\filemanager\connectors\asp\commands.asp
找到:
sFileName = SanitizeFileName( sFileName )
将该句改为自定义的文件命名格式,例如:
dim RndStr
Randomize
RndStr = Cstr(Fix(9000*rnd()+1000)) 产生一个随机数
sFileName =year(date)&month(Date)&day(Date)&hour(time)&minute(time)&second(time)&RndStr &"." &
**tension
对于PHP系统来说:
打开fckeditor\editor\editor\filemanager\connectors\php\commands.php
找到:
$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/fckeditor.asp"-->
在编辑器所在的位置添加如下代码:
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath = "/fckeditor/" 这个路径必须是相对于站点根目录的路径,设置错误编辑器
将无法显示
oFCKeditor.ToolbarSet="Default"
oFCKeditor.Width = "98%"
oFCKeditor.Height= "500px"
oFCKeditor.Val = "" 设置默认值
oFCKeditor.Create "shangpin_description" 编辑器的id,相当于input标签的name属性值,这里是
shangpin_description
%>
对于PHP来说:
在编辑器所在的位置添加如下代码:
<?php
incl?("fckeditor/fckeditor.php"); // 头文件
$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中用FCKeditorAPI.GetInstance(shangpin_description).GetXHTML(tr)得到shangpin_description对应的值
‘柒’ 手机客户端和web端开发的异同
版本升级。用户角度上看,客户端升级必须让用户手动下载整个新的安装包覆盖安装,而web的升级无需用户做任何事情。开发角度上看,如果客户端有个小bug需要紧急修复,需要修复完后打包一个完成的安装包,给一个版本号,发布给用户升级。而web只需要修改后台的某些文件,然后传到自己的服务器,用多快速的迭代开发方式都没问题。web没有版本兼容性问题,客户端这个问题就大了。
iOS客户端用编译语言,web用脚本语言。编译语言好处:很多错误编译期就知道,不用担心类似写错一个字母导致的问题。iOS客户端开发只能用XCode,无法选用自己喜欢的编辑器。使用脚本语言的web无论前端后端对编辑器的选择都很自由。
客户端一碰到异常就崩溃,直接退出,web一个try catch可以把所有错误抓住,用户可以继续使用其他不受影响的功能,即使所有功能都受影响,刷新页面搞定一切。web上界面和程序实实在在地分离了,客户端再怎样都是粘合在一起的。
发现HTML+CSS样式布局自动排列相当高级,客户端上一切都靠程序去指定大小位置以及排列的变化,可视化的XIB挺鸡肋。
单线程的web很幸福,客户端要处理多线程,虽然强大,但很麻烦。web几乎不用考虑内存泄漏,客户端需要。客户端开发可以使用到很底层的接口和功能。web处于较上层,在浏览器的包裹下,好处是很多问题浏览器处理web不用管,坏处是功能受限。
web和客户端开发差不多都使用类似MVC的模式,数据通过控制器更新到各个视图。web多用callback,iOS多用delegate,虽然iOS也可以用block作为callback,但还是没js方便,还可能导致一些内存问题。
总的来说从开发普通应用来看,就算不谈跨平台,web开发也是好处多多,但这只是开发角度上看,实际上移动设备上webApp状况始终不好,与原生客户端差距很大,原因:
网络不行,流量要钱。国内网络环境大家懂的,虽然HTML5有manifest,storage这些手段缓存webApp,但给人感觉就是不靠谱,打开它还是跟打开一个网页一样的感觉:耗流量,还有可能在网络不好的情况下打不开,没有像已经下载下来的原生APP踏实。
动画/体验。一般的web在页面间切换或显示隐藏某个组件是没有动画的,大家也习惯了,iPhone带了个头,一切都要动画过渡,导致在移动设备上大家习惯了动画切换,受不了没有动画的应用,导致动画性能底下的webApp至今体验上远不如原生客户端。
把webApp通过safari添加到主屏幕这样的习惯非常不普及,极少人知道,不过这个应该也不算问题,若没有上面两个大问题,这个习惯很容易普及的。
P.S 在开发普通应用(数据处理/交互)方面,web有很大的优势,在网络和性能问题解决后理应是首选开发方式。但在游戏领域我看不出web有什么优势,继续对有点热的HTML5游戏开发表示不解。
‘捌’ web编辑器是用来干嘛的
写代码的工具。一般人用不到。
‘玖’ #PHP# web编辑器哪个好
可以采用网络编辑器ueditor 和 Kindeditor 这两种编辑器是最多程序员所采用的。
KindEditor ,ueditor 都是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果
我们公司也是所采用这两种编辑器比较多
代码编辑器,我是PHP程序员 大部分采用 sublime text 编辑器
望采纳 Thx