2010-06-21 56 views
0

我正在作为前端开发人员处理我们的供应商不再支持的基于jsp的旧cms。在某个页面模板的开头,html文档开头为:在html文档的开头取消流氓jsp评论

<!%@ include file = "setCookie.jsp" %> 

这将始终是该文件的第一行。显示不是在Firefox的问题,但IE调整。我已经尝试用关闭jsp注释开始我的页面模板,结束,重新声明文档类型等。但我似乎无法解决IE正在发生的问题。

请在这里看到页面显示碎:http://i.imgur.com/iRTRW.gif

这里是页面的布局看起来像没有JSP评论: southland.geigerstores.com

任何解决方案?或者你可以向我解释为什么IE以这种方式行事?

回答

1

在IE中,如果<!DOCTYPE>不在HTML文件的第一行(如果之前有任何空格),它通常会将您的文档置于怪癖模式。

看看你的页面的来源,有一堆空行出现在<!DOCTYPE>之前。在JSP中,这通常是由后跟有换行符的JSP标签引起的。虽然标签本身没有渲染,但换行符仍然存在。

要么把<!DOCTYPE>作为JSP的第一行,要么确保在它之前没有换行符。例如。

<!%@ include file = "setCookie.jsp" 
%><!DOCTYPE .....> 

<!DOCTYPE .....> 
<!%@ include file = "setCookie.jsp" %> 

而非

<!%@ include file = "setCookie.jsp" %> 
<!DOCTYPE .....>