公司以前用过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 = false; // 隐躲菜单栏
SOACtrl.Titlebar = false; // 隐躲题目栏
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 = false; // 隐躲word标尺
/SCRIPT
2. view页:查看帖子
关键代码:SetWinHeight设置iframe主动的适应html文档的高度
script type="text/javascript"
function SetWinHeight(obj) {
var win = obj;
if (document.getElementById) {
if (win !window.opera) {
if (win.contentDocument win.contentDocument.body.offsetHeight)
win.height = win.contentDocument.body.offsetHeight;
else if (win.Document win.Document.body.scrollHeight)
win.height = win.Document.body.scrollHeight;
/script
在iframe onload的时候挪用:
iframe id="test" original="doc/ttt.htm" onload="Javascript:SetWinHeight(this)" width="100%" height="100%" frameborder=0
/iframe
长处:1. 功用强,office的功用看东西条上的按钮就晓得了,事实其他html编纂器都是模仿office款式的;2. 避免sql注进,是另存 html文件,sql注进就没有时机;3. 利用简单,编纂word相信各人都不目生。
代码下载: