我是一家旧的基于jsp的cms的前端开发人员,我们的供应商不再支持它。在某个页面模板的开头,html文档以:
开头<!%@ include file = "setCookie.jsp" %>
这将始终是文件的第一行。显示在Firefox中不是问题,但IE调整了。我已经尝试通过关闭jsp注释,结束,重新声明doctype等来启动我的页面模板。但我似乎无法纠正IE的问题。
请在此处查看损坏的页面显示:http://i.imgur.com/iRTRW.gif
以下是没有jsp注释的页面布局: southland.geigerstores.com
任何解决方案?或者你能解释一下为什么IE会这样做吗?
答案 0 :(得分:1)
在IE中,如果<!DOCTYPE>
不在HTML文档的第一行(如果之前有任何空格),它通常会将您的文档置于Quirks模式。
查看页面的来源,<!DOCTYPE>
之前有一堆空行。在JSP中,这通常是由在其后面有换行符的JSP标记引起的。虽然标签本身没有呈现,但新行仍然是。
将<!DOCTYPE>
作为JSP中的第一行,或确保之前没有换行符。 E.g。
<!%@ include file = "setCookie.jsp"
%><!DOCTYPE .....>
或
<!DOCTYPE .....>
<!%@ include file = "setCookie.jsp" %>
而不是
<!%@ include file = "setCookie.jsp" %>
<!DOCTYPE .....>