修改一个ASP网站项目时用到这样的功能,下拉列表选择后,读取相应的文件内容至FckEditor中。
ASP中定义FckEditor
<%
Dim oFCKeditor
Set oFCKeditor = new FCKeditor
oFCKeditor.BasePath = "FCKeditor/" //设置编辑器的路径,我站点根目录下的一个目录
oFCKeditor.ToolbarSet = "Default"
oFCKeditor.Width = "80%"
oFCKeditor.Height = "550"
oFCKeditor.Value = text //赋初值
oFCKeditor.Create "bookcontent" //命名由你定,可以理解为FckEditor实例名
%>
JavaScript获得FckEditor实例: var oEditor = FCKeditorAPI.GetInstance("bookcontent");
源码如下:
<script>
function select_onclick()
{
changelocation(document.myform.anclassid.options[document.myform.anclassid.selectedIndex].value)
var style = document.myform.anclassid.selectedIndex //style为选中项
if(style == 0)
{
<%
line=""
text=""
fileName="//Templates//电脑.txt"
Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
Set MyTextFile=MyFileObject.OpenTextFile(path+fileName)
if Err.Number=0 Then
While NOT MyTextFile.AtEndOfLine
line = MyTextFile.ReadLine+"/n"
line = Replace(line, CHR(13), "")
line = Replace(line, CHR(10) & CHR(10), "</P><P>")
line = Replace(line, CHR(10), "<BR>")
line = Replace(line, CHR(34), " ")
text = text+line
WEND
MyTextFile.Close
End if
%>
styleHtml="<%=trim(text)%>"
}
if(style>0)
{
styleHtml=""
}
var oEditor = FCKeditorAPI.GetInstance("bookcontent");
oEditor.SetHTML(styleHtml) ;
}
</script>
上述代码中读取到的文件内容,是HTML,在FckEditor中会将双引号替换为代码替换双引号为&XX(具体的忘了就像空格为 类似),HTML代码被误当作文本来显示,而我要显示的其实是一个两列N行的表格,代码中读取文件内容时将双引号替换为空格,熟悉HTML的朋友都知道,其实属性值不加双引号也无碍,XML则必须加双引号,和具体的规范有关,严密性的是要加双引号的,而FckEditor识别到HTML代码后,如果是非严密性的代码,会自动的添加双引号为严密性。所以直接在读取的时候将双引号替换为空格,很是便捷。