编辑好做吗?这个怎么做,是不是好难啊???

[转载]我是不是一位好编辑
2008201020092011
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。很外很外的外行想做编辑是不是很难
来自: (挥别错的,才能遇到对的人)
专业也与编辑无关
推荐到广播
215420 人聚集在这个小组
(可可DouDou)
(无所谓先生)
第三方登录:用Word做html编辑器,是不是很拉风啊
我的图书馆
用Word做html编辑器,是不是很拉风啊
用Word做html编辑器,是不是很拉风啊
公司以前用过soaoffice做文档系统中的在线编辑,记得soaoffice有另存word文档为html的功能,今天忽然一想,那不是正好可以用做html编辑器吗,也许这个方法更好!!马上动手实验,结果感觉还是蛮不错的,下面先分享一下思路: 一个帖子对应一个word文件,想要编辑帖子的时候就编辑word文件,保存的时候同时另存为html文件,并且把html文件的路径保存在帖子的对应数据库记录的字段里。在用户查看帖子的时候把html文件的路径赋值给iframe,也就是说游客浏览帖子的时候就是用iframe加载贴子的html文件,因为这个html是word转的,所以格式还是很不错的。 代码说明: 1. default页:编辑帖子,编辑完毕之后点“发帖”按钮就可以查看帖子效果了。下面是关键代码,执行了这些关键代码样式就跟普通的html编辑器一样了,当然你也可以不用隐藏这些功能。 SOAOfficeX.SOAOfficeCtrl SOACtrl = new SOAOfficeX.SOAOfficeCtrl(); SOACtrl.ServerURL = "soaservice/soaserv.aspx"; SOACtrl.SaveHtmlURL = "savehtml.aspx"; //必须的,由savehtml页负责保存html文件 SOACtrl.SaveDocURL = "savedoc.aspx"; SOACtrl.Menubar = // 隐藏菜单栏 SOACtrl.Titlebar = // 隐藏标题栏 SOACtrl.WebOpen("doc/ttt.doc", SOAOfficeX.soaWorkMode.docNoRevision, "somebody", "Word.Document"); &SCRIPT language="JavaScript" event="OnDocumentOpened(str, obj)" for="SOAOfficeCtrl"& SOAOfficeCtrl.Document.Application.ActiveWindow.ActivePane.View.Type = 6; // 用web视图方式 SOAOfficeCtrl.Document.ActiveWindow.ActivePane.DisplayRulers = // 隐藏word标尺 &/SCRIPT& 2. view页:查看帖子 关键代码:SetWinHeight设置iframe自动的适应html文档的高度 &script type="text/javascript"& function SetWinHeight(obj) { var win = if (document.getElementById) { if (win && !window.opera) { if (win.contentDocument && win.contentDocument.body.offsetHeight) win.height = win.contentDocument.body.offsetH else if (win.Document && win.Document.body.scrollHeight) win.height = win.Document.body.scrollH } } } &/script& 在iframe onload的时候调用: &iframe id="test" src="doc/ttt.htm" onload="Javascript:SetWinHeight(this)" width="100%" height="100%" frameborder=0& &/iframe& 优点:1. 功能强,office的功能看工具条上的按钮就知道了,毕竟其他html编辑器都是仿照office样式的;2. 防止sql注入,是另存 html文件,sql注入就没有机会;3. 使用简单,编辑word相信大家都不陌生。 代码下载:http://ishare..cn/f/.html 网页中编辑word时,只显示指定用户的痕迹 关于根据用户名显示痕迹,如何控制传入一个用户名,然后对应显示该用户的所修改的痕迹?对于会VBA的人来说方法很简单,但是VBA只可以解决一个文档的问题,在web项目的开发中怎么用程序动态的控制呢?其实也简单,主要用下面的这个函数: &SCRIPT language="JavaScript"& function showRevisionsOnly(user) { var obj = document.getElementById("SOAOfficeCtrl"); obj.Document.ActiveWindow.ToggleShowAllReviewers();// 隐藏所有的痕迹 obj.Document.ActiveWindow.View.Reviewers(user).Visible = } &/SCRIPT& 补充说明:SOAOffice是一个第三方的中间件,可以处理在线编辑、保存、留痕、手写、动态生成文件等功能,详细内容去百度一下……,目前说的这个方法就是用soaoffice打开文件以后,控制实现只显示指定用户痕迹的功能,如果你们用的不是这个中间件,这些代码就不用看了,找其他的方法吧。 在OnDocumentOpened事件中控制只显示某个用户的痕迹,比如只显示“张三”的痕迹代码如下: &SCRIPT language="JavaScript" event="OnDocumentOpened(str, obj)" for="SOAOfficeCtrl"& showRevisionsOnly(“张三”); &/SCRIPT& 当然实际应用中肯定是传变量,不是直接写“张三”了…… 看一下效果代码:
web中的下拉菜单与soaoffice控件 最近在项目涉及到文件的在线编辑,为了加快项目进度使用了第三方的控件在线打开文件,发现不管使用哪个公司的控件,如果控件区域的上面有下拉菜单,当下拉菜单弹出的时候菜单项总是会跑到控件区域的下面,目前公司采购了soaoffice来处理的文件在线打开也是同样的问题,soaoffice公司给出的方法就是使用iframe处理,利用他们说的那种方法写了一个demo出来大家共享一下…… 下载地址: http://ishare..cn/f/.html
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&

我要回帖

 

随机推荐