FreeTextBox版本:1.6.3中文版(破宝汉化)
更新中……
1)FreeTextBox工具条MouseOver样式显示不正常
图标边框丢失,工具条有轻微闪动
不正常,没有边框 正常,有边框
在VS2005中,经过检查发现,是aspx文件中的这一句导致出现了问题:
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
注释掉以后,一切恢复正常。
原因:DOCTYPE对于早期的CSS和JS有很大影响,由于用的是FTB 1.6.3 版,所以其中的好多JS和CSS的写法都不符合XHTML规范,所以导致这里出现问题。关于DOCTYPE的具体使用请参见 “选择什么样的DOCTYPE”一文。
2)定制文件上传功能
在默认的布局中,即使选择EnableAll布局,也只有“插入图片(来自图片库)”这唯一一个和上传有关的按钮。如果是自用的话到是无所谓,但是如果是用在一个博客系统或是论坛系统中,有可能不希望用户通过这种方式操作,比如:
- 为了安全只允许用URL贴图
- 担心用户在图片库里粗心删除图片,导致先前发布的文章中出现图片丢失
- 不想让用户看到太多的细节
1
/**/
/// <summary>
2 /// Returns a ToolbarButton with InsertImage JavaScript functions builtin
3 /// </summary>
4 public static ToolbarButton InsertImage {
5 get {
6 ToolbarButton button = new ToolbarButton("插入图片","insertimage","FTB_InsertImage");
7 button.ScriptBlock = @"<script language=""JavaScript"">
8 function FTB_InsertImage(editor,htmlmode) {
9 if (htmlmode) return;
10 editor.focus();
11 editor.document.execCommand('insertimage',1,'');
12 }
13 </script>";
14 return button;
15 }
16 }
2 /// Returns a ToolbarButton with InsertImage JavaScript functions builtin
3 /// </summary>
4 public static ToolbarButton InsertImage {
5 get {
6 ToolbarButton button = new ToolbarButton("插入图片","insertimage","FTB_InsertImage");
7 button.ScriptBlock = @"<script language=""JavaScript"">
8 function FTB_InsertImage(editor,htmlmode) {
9 if (htmlmode) return;
10 editor.focus();
11 editor.document.execCommand('insertimage',1,'');
12 }
13 </script>";
14 return button;
15 }
16 }
注意这一句:
editor.document.execCommand('insertimage',
1
,'');
它实际上是封装了DHTML中的document对象execCommand方法。
这个属性对应的按钮是被隐藏了,在三个布局中都没有,那我们把它加上,看看这个execCommand("insertimage",1"")运行的时候到底是什么样子。找到项目下的Support目录,找开目录下的ToolbarGenerator.cs文件。这个文件的作用是根据定义好的字符串创建FTB的工具栏,在文件的开始,我们找到了原始定义的三种布局字符串,现在就在Minimal布局中加入InsertImage按钮,代码如下:
public
static
string
MinimalConfigString
=
"
Bold,Italic,Underline,InsertImage
"
;
要看效果先要建立一个可执行的项目调用FTB,因为FTB项目的类型是类库,无法直接调试。弄好后效果如下:
点击出现如下窗口
经过测试,这里可以直接输入图片的URL,也可以选择本地图片上传。但是后者我们切换到FTB的HTML模式下时,发现并没有上传图片,只是插入了物理路径。也就是说这个按钮是不支持上传的轻量级的选择。代码如下:
<
P
><
IMG
alt
=""
hspace
=0
src
="F:\552.jpg"
align
=baseline
border
=1
></
P
>
上述的问题在于,它是一种绝对的物理路径,其原本指向的是我电脑中的F:\552.jpg这个图片;但是被发送到服务器端以后,别人浏览的时候程序会解释成是在服务器的F盘下的552.jpg ,问题是服务器上根本就没有这个文件,实际上并没上传,那么就会出现“白块红x”。那这个功能有什么用呢?这个我想应该还是在局域网内有效吧,比如有公共的第三方主机共享文件或是绝对的网络共享路径(如:src=\\ServerA\share\img\552.jpg),那么对于同一局域网的其它浏览者,网页中的图片路径应该是正常的。这一点没有测试,有兴趣的可以做一下。
待续……