做B/S系统,总会遇到诸如图文混排,文本格式设定之类的需求。平时一般使用DHTML编辑器生成HTML代码,使用rtf域(itemStorage)存储这些HTML代码,使用rtf计算域(itemDisplay)来显示itemStorage的内容。前些日子发现在存储信息量非常大的情况下,HTML的显示会出现问题。于是便有了下面解决问题的尝试。
[ Method 1 ]
itemDisplay域内置HTML。
此时可以正确显示HTML样式,但itemStorage存储的数据量大时内容将被截断。类似于使用计算文本显示时itemStorage内容时的情况。
[ Method 2 ]
itemDisplay域内置HTML。
此时显示出HTML代码,不能正确显示HTML样式,而且数据量大时内容被截断。
[ Method 3 ]
此时显示出HTML代码,不能正确显示HTML样式,但是数据量大时内容不会被截断。如果先为itemDisplay设置style.passThruHTML = True,则可以显示正确的HTML样式且内容不会被截断。
[ Method 4 ]
此时不必加入style即可显示正确的HTML样式,且数据量大时内容不会被截断。很奇怪的是,“[”与“]”必须写在一行,类似以下的代码无法生效。
另外在测试中发现,在后两种情况下,如果存储域itemStorage设置为“保存内容为HTML和MIME”,则会出现比较灵异的现象——在正确的HTML样式前会多显示一些(不是所有)HTML代码,还真是应了以前坛子里一位兄弟的话“Lotus有时候比较妖怪”。