BUG之一:拦腰截断,
比如论坛有一帖子标题为“hello how are you long time no see”
那么被调用到首页后一般显示成以下样子:
“hello how ar...”
当我们把鼠标移上去时,应该会有详细说明,
但是详细说明却是“hello”,后面没了。
原来问题出在少个双引号上,对于如下一段网页代码:
<a href=地址 title=说明>内容</a>
在“说明”内容中没有空格时,一切正常,
但是如果“说明”的内容中含有空格,
就会到空格为止,只显示前面一段。
修改方法为加上双引号,使之变为:
<a href="地址" title="说明">内容</a>
修正方法:
打开newtopic.asp,找到其中某一个response.write语句。
将其中的“title="&Topic&"”改为“title="""&Topic&"""”
也就是说,加上四个双引号。
BUG之二:浪费感情
经过上面一改,详细注释已经不再是“hello”了,
而是“hello how ar...”,
但是,这样还不够,
如果鼠标移上去显示的根没移上去一模一样,
那么还要它显示干什么?
修改方法是,让鼠标移上去后显示得更全一点,
打开newtopic.asp,
增加声明一个变量“Topic1”,
在“Topic=Stringhtml(topic)”的下面加一行:
“topic1=topic”,
再把“title="""&Topic&"""”改为“title="""&Topic1&"""”
这样,显示为注释的内容就是没有截取前的了。
BUG之三:美丽陷阱
当用户的帖子标题中含有半角双引号时,
这个双引号又会干扰其在首页调用中的显示,
比如,贴子标题为“he said "let me see"”,
那么注释的显示将在“he said”后结束。
修改方法是替换掉半角双引号,或者干脆不要了。
找到:“str = Replace(str, CHR(34), """")”
改为:“str = Replace(str, CHR(34), "")”。
也就是说,去掉两个引号。
BUG之四:土洋不分
为了在网页上显示得漂亮,一般形况下都要把长的内容截断。
自动截取特定长度的字符时不能直接截取前几字,
而应该考虑它们是汉字还是字母。
如果直接按照字符数截取,
在首页显示时只起到了防止超长的作用,
没有起到美观的作用。
而且,这个功能还有一个特别容易被忽视的地方:
以首页显示十个字符为例,
因为“...”要占用三个字符,
所以很多人想当然看其是不是长于七个字符,
但是实际上这是片面的,
先要看其是否长于十字符,如果是,就取其前七位,
如果不是,就不用截。
修正方法:对程序进行大改动。把一个汉字当成两个字符处理。
程序如下:
Function toumaoCutString(inputtext,ascwidth)
'将一个字符串截取它的前一段,使之能够在一定的宽度内显示
'inputtext为未截取之前的字符串,
'ascwidth为规定的宽度,以英文字母数为准,一个汉字相当于两个字符
'程序设计:偷猫,主页:http://www.eachfun.com/,QQ:33751
dim toumaoCSI'临时变量,用于在inputtext中一个一个往下取字符
dim toumaoCSJ'临时变量,用于记录到第几个字符时,宽度已经达到ascwidth
dim toumaoCSK'临时变量,用于记录整个inputtext相当于多少宽度
dim toumaoCSL'临时变量,用于记录到第几个字符时,宽度已经达到ascwidth-3
If inputtext="" Or ascwidth=0 Then
toumaoCutString=""
Exit Function
End If
For toumaoCSI=1 to Len(inputtext)
If Asc(Mid(inputtext,toumaoCSI,1))<0 Then
toumaoCSK=toumaoCSK + 2'汉字
Else
toumaoCSK=toumaoCSK + 1'英文或数字
End If
If toumaoCSK<=ascwidth Then toumaoCSJ=toumaoCSI
If toumaoCSK<=ascwidth-3 Then toumaoCSL=toumaoCSI
Next
If toumaoCSK<=ascwidth Then
toumaoCutString=inputtext
Else
toumaoCutString=Left(inputtext,toumaoCSL) & "..."
End If
End Function
然后再把:“topic=left(topic,request("tlen"))&"..."”
改为:“topic=toumaoCutString(topic,request("tlen"))”
本站文章皆为作者原创,其它媒体(包括但不限于报刊、杂志、网站、电视、电台)未经作者书面许可严禁转载(或部分摘录)!
