如何将 mailchimp 集成脚本添加到 next.js `Head` 而不产生预渲染错误?

Spo*_*ego 2 javascript node.js mailchimp next.js

嘿嘿

我正在尝试将 mailchimp 集成添加到我的 nextjs 站点,但似乎无法通过next/Head在我的自定义中添加以下内容来实现_document

<script id="mcjs">!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/6de8d2d6c939d766316a64859/bd399ce06369bd3a09a174bb7.js");</script>
Run Code Online (Sandbox Code Playgroud)

我认为这个问题与脚本标签是!function.

任何帮助表示赞赏。谢谢!

我得到的错误是

remote: Error occurred prerendering page
remote: ReferenceError: c is not defined
Run Code Online (Sandbox Code Playgroud)

Spo*_*ego 5

我的解决方案是next/head在自定义中_document.js使用危险的setinnerhtml

例如:

                <script
                        dangerouslySetInnerHTML={{
                            __html: `!function(c,h,i,m,p){m=c.createElement(h),p=c.getElementsByTagName(h)[0],m.async=1,m.src=i,p.parentNode.insertBefore(m,p)}(document,"script","https://chimpstatic.com/mcjs-connected/js/users/6de8d2d6c939d766316a64859/bd399ce06369bd3a09a174bb7.js");`,
                        }}
                    />
Run Code Online (Sandbox Code Playgroud)

希望这对某人有所帮助:D