You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EJS include语句异常:局部视图内容被强制纳入body标签求助

EJS局部视图引入后footer被自动移入body的问题解决

这不是EJS的问题,是浏览器的HTML自动修正机制在起作用——你写的HTML结构不符合规范,浏览器会自动调整错误的标签位置。

问题根源

HTML5规范明确规定:<html>标签的直接子元素只能是<head>和<body>,<footer>这类元素不能直接放在<html>下面。浏览器解析到不符合规范的结构时,会自动把<footer>挪到<body>内部,保证页面结构合法。

你原index.ejs里把<footer>放在了<body>外面,这本身就违反了HTML规范,所以浏览器才会强制调整它的位置。

解决方案

把<footer>标签移到<body>内部即可,修正后的index.ejs代码如下:

<!DOCTYPE html>
<html>
    <body>
        <p>Hello World!</p>
        
        <footer>
            <%- include("../partials/footer") %>
        </footer>
    </body>
</html>

效果说明

修正后,浏览器会保留<footer>在<body>内的正确位置,局部视图的内容也会正常渲染在<footer>标签里,不会再被强制移动。

内容的提问来源于stack exchange,提问作者iKingNinja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:07:03