FreeTextBox版本:1.6.3中文版(破宝汉化)
更新中……
1)FreeTextBox工具条MouseOver样式显示不正常
图标边框丢失,工具条有轻微闪动
不正常,没有边框 正常,有边框
在VS2005中,经过检查发现,是aspx文件中的这一句导致出现了问题:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
注释掉以后,一切恢复正常。
原因: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
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
注意这一句:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
它实际上是封装了DHTML中的document对象execCommand方法。
这个属性对应的按钮是被隐藏了,在三个布局中都没有,那我们把它加上,看看这个execCommand("insertimage",1"")运行的时候到底是什么样子。找到项目下的Support目录,找开目录下的ToolbarGenerator.cs文件。这个文件的作用是根据定义好的字符串创建FTB的工具栏,在文件的开始,我们找到了原始定义的三种布局字符串,现在就在Minimal布局中加入InsertImage按钮,代码如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
要看效果先要建立一个可执行的项目调用FTB,因为FTB项目的类型是类库,无法直接调试。弄好后效果如下:
![](https://www.cnblogs.com/images/cnblogs_com/frostcity/Image00001.jpg)
点击出现如下窗口
![](https://www.cnblogs.com/images/cnblogs_com/frostcity/Image00002.jpg)
经过测试,这里可以直接输入图片的URL,也可以选择本地图片上传。但是后者我们切换到FTB的HTML模式下时,发现并没有上传图片,只是插入了物理路径。也就是说这个按钮是不支持上传的轻量级的选择。代码如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
上述的问题在于,它是一种绝对的物理路径,其原本指向的是我电脑中的F:\552.jpg这个图片;但是被发送到服务器端以后,别人浏览的时候程序会解释成是在服务器的F盘下的552.jpg ,问题是服务器上根本就没有这个文件,实际上并没上传,那么就会出现“白块红x”。那这个功能有什么用呢?这个我想应该还是在局域网内有效吧,比如有公共的第三方主机共享文件或是绝对的网络共享路径(如:src=\\ServerA\share\img\552.jpg),那么对于同一局域网的其它浏览者,网页中的图片路径应该是正常的。这一点没有测试,有兴趣的可以做一下。
待续……
却原来、姹紫嫣红开遍,似这般、都付与断井颓痕 ——《昆曲·游园惊梦》