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

如何在Next.js的根div__next前、body标签后插入代码?

在Next.js中在body标签后直接插入代码的实现方法

完全可以实现,根据你使用的Next.js路由方案(App Router或Pages Router),操作方法如下:

针对App Router(Next.js 13+)

在项目的app/layout.tsx(或.jsx)根布局文件中,直接在<body>标签内、{children}之前插入你的代码即可:

export default function RootLayout({ children }) {
  return (
    <html lang="zh-CN">
      <body>
        {/* 这里插入插件需要的代码/DOM元素 */}
        <div class="plugin-container">
          <!-- 插件内容 -->
        </div>
        <script>
          // 插件所需的脚本代码
        </script>
        {children}
      </body>
    </html>
  );
}

{children}会渲染Next.js自动生成的#__next根容器,所以你插入的内容会被放在body标签后、#__next之前,完全符合需求。

针对Pages Router(Next.js 12及更早)

需要自定义_document.js(或.tsx)文件来覆盖默认的页面结构:

import Document, { Html, Head, Main, NextScript } from 'next/document';

class MyDocument extends Document {
  render() {
    return (
      <Html lang="zh-CN">
        <Head />
        <body>
          {/* 这里插入插件需要的代码/DOM元素 */}
          <script src="插件脚本地址"></script>
          <div id="plugin-root"></div>
          <Main />
          <NextScript />
        </body>
      </Html>
    );
  }
}

export default MyDocument;

<Main />对应Next.js生成的#__next根容器,在它之前插入的内容会直接出现在body标签后,满足插件的要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:30:16