代码之家  ›  专栏  ›  技术社区  ›  Evan Smith

取消html文档开头的恶意jsp注释

  •  0
  • Evan Smith  · 技术社区  · 16 年前

    我是一个基于jsp的旧cms的前端开发人员,我们的供应商不再支持它。在某个页面模板的开头,html文档以以下内容开头:

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

    这将始终是文件的第一行。在Firefox中,显示不是问题,但IE会进行调整。我尝试过用结束jsp注释、结束、重新声明doctype等来启动我的页面模板,但我似乎无法纠正IE存在的问题。

    请在此处查看页面的断开显示: http://i.imgur.com/iRTRW.gif

    以下是没有jsp注释的页面布局: 南国。盖格尔商店。通用域名格式

    有什么解决办法吗?或者你能给我解释一下为什么艾这样做吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   jimr    16 年前

    在IE中,如果 <!DOCTYPE> 不在HTML文档的第一行(如果前面有空格),它通常会使文档进入怪癖模式。

    查看页面的来源,页面前有一堆空行 <!DOCTYPE> .在JSP中,这通常是由于JSP标记后面有换行符造成的。虽然标记本身没有呈现,但换行符仍然存在。

    要么把 <!DOCTYPE> 作为JSP中的第一行,或者确保前面没有换行符。例如。

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

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

    而不是

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