在sharepoint中,自带一个html文本编辑器,可以对字体的大小,颜色甚至复制和粘贴都可以。这次做项目我们准备通过spd把这个编辑器放到自定义的aspx页面中。费了很大的力气,终于在博客堂()和另一个老外的博客上找到了答案,简单的实现如下,具体的原理可以到博客堂看。

需求:把如下的控件放到自定义的aspx页面里。

实现:页面的开头做如下的引用:

<script type="text/javascript" lang ge="javascript" src="/_layouts/2052/form.js"></script>

把如下的代码放到页面响上。(文本操作栏是通过js实现的)

<textarea name="txtTextArea1" rows="6" cols="20" id="txtTextArea1" title="Body123" class="ms-long" ></textarea>

<script lang ge="javascript" type="text/javascript">

RTE_ConvertTextAreaToRichEdit("txtTextArea1", tr, false, "", "2052", null, null, null, null, null,"FullHtml", "\/",null,null,null,null);

</script>

当然,你也可以把textarea 换成服务器端的空间textbox,不过此时要注意RTE_ConvertTextAreaToRichEdit()的第一个参数和textbox的客户端的id值对应。

扩展:如果你需要的是如下的html编辑器

只需要把RTE_ConvertTextAreaToRichEdit()方法做如下的改动:

RTE_ConvertTextAreaToRichEdit("txtTextArea1", tr, false, "", "2052", null, null, null, null, null,"Compatible", "\/",null,null,null,null);

今天看到博客园中的一些 SharePoint 爱好者们在讨论关于 SharePoint 内容编辑器中的文件上传。
  SharePoint Portal Server在这点上和一些OA应用相比缺乏几个特性,经常被用户提到:
  1、只有门户列表的编辑器才能够添加图片,其他如通知列表的编辑器则不能在正文中直接插入图片。
  2、内容编辑器不能像FreeTextBox这样方便的直接上传图片,必须将图片首先上传到文档库中,然后再通过URL引用。
  问题确实是这样,不符合大多数用户的使用习惯。之前,我在开发公司门户的时候对这个问题有一点肤浅的了解,所以抛砖引玉,希望能够看到更好的解决方案。
  其实,门户列表和通知列表中使用的内容编辑器是同一个控件,名字叫:RichTextBox,通过查看客户端的HTML代码可以分析出来。RichTextBox控件是通过Javascript创建的,他们之间工具条上的区别,如:剪切、复制、粘贴、添加图片等功能按钮取决于调用该控件时的一个属性:RestrictedMode。当RestrictedMode=true的时候插入图片的功能是被禁止显示的,此时的情况就出现在如通知列表编辑器的情况下。SharePoint对站点定义的模型确实值得称道,对他了解越深,就越发觉得精彩。在Page UnGhosted状态下,ONet.XML、Schema.XML、WebTemp.XML、DocIcon.XML支撑起WSS/SPS网站的框架结构,当然,这里我们不是谈论这个,我们关心的是另一个文件——FldTypes.XML。用自己的话来描述,FldTypes.XML的主要用途就是定义了列表和库的栏类型和显示样式。我们的主题也是从这个文件入手的!
  在客户端察看一个通知列表的添加通知页面NewForm.aspx文件的客户端HTML代码中可以看到<SCRIPT>fld = new TextField(xxx,"xxx","xxx","xxx");......</script>这样形式的一段脚本,没错,就是它输出了那个令人难堪的编辑器。OK,脚步先停在这里,我们在去看FldTypes.XML文件,我喜欢用XMLSpy来查看XML,他对XML的结构再了解不过了,

从图中可以看到,最下面Field TypeName=Note的节就是当我们在创建栏时选择了多行文本形式时的样式定义了。在他的子节点中,我们可以找到图中的CDATA,正好和我们在客户端看到的Javascript对应。

明白了吗?玄机的地方就在Javascript中!
  接着向下,Javascript的定义在Ows.js文件里,一番分析,在Ows.js的6082行,function RichTextFieldBuildUI()是用来Render编辑器UI的函数,而他调用了RTE_ConvertTextAreaToRichEdit。

function RTE_ConvertTextAreaToRichEdit(
            strBaseElementID,
            fRestrictedMode,
            fAllowHyperlink,
            strDirection,
            strWebLocale)

其中第二个参数fRestrictedMode参数决定了编辑框是否使用限制模式。
  一番改动之后,我已经能够在通知列表中使用和门户列表相同的编辑器了,可以以链接形式添加图片,但保存的时候还是无法正确的保存图片,图片会被自动去掉,当然,这是可以解决的,现在的精力容不得我继续深究了,毕竟这不是最影响我目前项目的重点。另一方面,至于想象将RichTextBox替换成FreeTextBox的可行性,我认为是很小的,通过修改Server端代码几乎没有可能,如果你有足够的精力改写Ows.js中的RTE_ConvertTextAreaToRichEdit函数,那么应该是可行的办法吧
  砖抛完了,可能几乎没用,只能提供一些思路。

分类: SharePoint

转载于:https://www.cnblogs.com/Areas/archive/2012/06/12/2545901.html

SharePoint中的富文本编辑器控件相关推荐

  1. android富文本图片自适应,Android 图片混排富文本编辑器控件

    一.一个Android 图片混排富文本编辑器控件(仿兴趣部落) 1.1 图片混排富文本控件 是一种图片和文字混合在一起的控件,文本之间可以插入图片,类似于网页的排版样式. 1.2 该控件主要是仿兴趣部 ...

  2. Android 图片混排富文本编辑器控件

    概述 一个Android 图片混排富文本编辑器控件(仿兴趣部落) 详细 代码下载:http://www.demodashi.com/demo/12032.html 一.一个Android 图片混排富文 ...

  3. winform html编辑器控件,一个WinForm富文本编辑器控件

    WinForm 上的富文本编辑器简直不要太少,虽然有 RichEdit,但是这个鬼极难用而且复杂,在插入图片和表格的时候简直抓狂,还要理解复杂的 RTF 格式. 我希望有一个文本控件,包括基本的格式设 ...

  4. kind富文本编辑器_在项目中集成富文本编辑器

    前   言 现在学程序的都离不开 Markdown 语法了吧,Markdown 已经成为典型的转换为HTML的非正式规范和参考实现,现在市场上也出现了许多Markdown实现,在基本语法之上额外增加了 ...

  5. wangeditor ajax,laravel 中 wangEditor 富文本编辑器使用指南

    在本课程中,老师使用的富文本编辑器是 2.0 的版本,且输入区域使用的 textarea,但是在新的 3.0 版本中(新版本富文本编辑器只需要引用一个js文件即可),开发者不建议使用 textarea ...

  6. 浏览器中插入富文本编辑器

    常用的富文本编辑器有CKEditor.UEEditor.TinyEditor.KindEditor等.以下以kindeditor编辑器的使用为例. 1.官网下载KindEditor编辑器http:// ...

  7. 在前端网页中加入富文本编辑器

    UEditor Docs这是UEditor官方网站,网站里有官方使用教程. 1.先把富文本编辑器的压缩包下载到本地,在我发布的资源里下载(不要积分) 解压之后主要是这个东西 2.把这个解压文件拖动到e ...

  8. php中html富文本编辑器,php + wangEditor 富文本编辑器的配置

    小编最近做了一个项目,在用户发表文章的模块上,考虑到用户编写文章时的排版需求.要借助富文本编辑器.搜索发现,现在有很多免费的编辑器插件.例如:百度的Ueditor.Summernote .但是这几个插 ...

  9. 项目中的富文本编辑器该如何选择?

    项目中经常需要用到富文本编辑器的时候,而常见的富文本编辑器都有哪些?该如何选择? 先看看市面上都有哪些可用的富文本编辑器: TinyMCE(插件式的,支持 Vue,React,Angular 框架) ...

最新文章

  1. 【C#/.NET】.NET6中全局异常处理
  2. CCIE-LAB-第一篇-教学导入环境
  3. input readonly 光标显示问题
  4. Linux Kernel Lock types and their rules
  5. 1002. 查找常用字符
  6. 习题:交换一组数据的位置
  7. NOIP2017错题
  8. GoldenGate Director安装
  9. cad插件加载bplot成功用不了_CAD批量打印,加载Batchplot.vlx那个。 为什么我电脑输入BPLOT命令后没反应啊??急急急,求大神们解救!...
  10. CVE-2013-3893 IE浏览器UAF漏洞分析
  11. WPE1.3C的详细使用教程
  12. 连接服务器没有发挥作用,iPhone“连到系统上的设备没有发挥作用”原因分析及解决方法...
  13. 上海落户计算机水平毕业研究生,2021上海积分落户应届毕业生直接落户上海
  14. jmeter beanshell关于小数参数定义转化
  15. python 拆包_python3拆包详解
  16. 写英文IEEE论文的技巧
  17. Cognos 11.0快速开发指南 Ⅰ
  18. 2022年亚太数学建模竞赛-问题C:全球变暖与否?-思路详解
  19. 一个简单的注册页面制作
  20. 使用hbase来解决上亿条数据的准实时响应

热门文章

  1. html5游戏指尖跟随,图片跟随手指滑动
  2. 新手学python书籍推荐_新手学python看哪本书
  3. java 内存模型6_深入理解Java内存模型(六)——final
  4. java页面登陆密码_java实现页面登陆2 密码加密
  5. shell编程最新总结大全
  6. java inputstream字节流_Java输入输出流ByteArrayInputStream和ByteArrayOutPutStream
  7. 干货总结:SPI总线详细要点
  8. 马云都退休20天了,2019年剩下不到100天了:你还没掌握Python 编程思维吗?
  9. HDLBits答案(21)_Verilog有限状态机(8)
  10. FPGA学习之verilog语言入门指导