今天在调试程序时发现一个很奇怪的现象,.shtml的文件在使用<!--#include file="x.htm"-->包含x.htm氖保?岢缘 .htm的最后几个字符!
为了验证这一现象,特意在本机建了两个文件,1.htm和1.shtml。
1.htm内容为:<a href="http://www.VeVb.com">ITlearner</a>
1.shtml内容为:<!--#include file="1.htm"-->
浏览1.shtml,查看源文件为:<a href="http://www.VeVb.com">ITlearner
1.htm中末尾的"</a>"不见了!
修改1.htm为:<p><a href="http://www.VeVb.com">ITlearner</a></p>
浏览1.shtml,查看源文件为:<p><a href="http://www.VeVb.com">ITlearner</a>
1.htm中末尾的"</p>"不见了!
修改1.htm为:<div><a href="http://www.VeVb.com">ITlearner</a></div>
浏览1.shtml,查看源文件为:<div><a href="http://www.VeVb.com">ITlearner</a></div>
一切正常!!!
:(
修改1.htm为:<li><a href="http://www.VeVb.com">ITlearner</a></li>
同样正常!
修改1.htm为:<b><a href="http://www.VeVb.com">ITlearner</a></b>
浏览1.shtml,查看源文件为:<b><a href="http://www.VeVb.com">ITlearner</a>
1.htm中末尾的"</b>"又不见了!
难道是末尾是4个字符(类似</p>)时就会被吃掉,而其它字符就不会受影响?
再试:
修改1.htm为:<li><a href="http://www.VeVb.com">ITlearner</a><b>
"<b>"不见了!
修改1.htm为:<li><a href="http://www.VeVb.com">ITlearner</a><br>
"<br>"不见了!
修改1.htm为:<li><a href="http://www.VeVb.com">ITlearner</a><br/>
正常!!!
修改1.htm为:<li><a href="http://www.VeVb.com">ITlearner</a>-
正常!!!
测试结论:末尾带<开头的小于5个字符的字符串会在被包含后吃掉!
又试一下用<!--#include virtual="/1.htm"-->包含,同样如此:(
不知这是.shtml包含文件的一个小bug,还是我自己那里搞错了:(
最终,只能将1.htm改为<a href="http://www.VeVb.com">ITlearner</a> (后面加了一个空格),这样才能正常显示。
新闻热点
疑难解答