Joe*_*007 4 jsx reactjs gatsby
我创建了一个 Gatsby 网站。要在该网站中启用推送通知,我必须使用以下代码:
<!-- Begin DigitalPUSH code -->
<script>
var DGPkey = "M3E2cGU5d1hPQWl2VTRTeG9ZYU8xa0l1YW8yMWVmR3FKbFFjMGNLNllIbz0="; //mandatory
var DGPnativerequest = "0";
var DGPdelay = "10000";
var DGPmtype = "overlay";
var DGPtheme = "13e3b4";
var DGPtitle = "!!! !!!";
var DGPmessage = "!!! !!!";
var DGPallowbutton = "";
var DGPrejectbutton = "";
var DGPbgimage = "";
var DGPinpageads = "0";
</script>
<script type="text/javascript" src="//cdn.digitalpush.org/lib.js"></script>
<!-- End DigitalPUSH code -->
Run Code Online (Sandbox Code Playgroud)
我必须将此代码放在标签之前。我尝试了互联网上的几种方法,但似乎都不起作用。有人可以告诉我怎么做吗?
我的网站模板:https : //github.com/Tahsin007/classsed-gatsby-blog
提前致谢。
从 Gatsby 文档中提取的关于使用客户端包/库的内容。我建议如下。
使用 React(以及 Gatsby),您可以通过使用<Helmet>标签轻松实现这一点。基本上,它允许您将<scripts>(或其他元数据)放入将放置在<head>一次编译中的任何组件中。所以,在你的情况下:
import React, {useEffect} from "react"
import Helmet from "react-helmet"
import Layout from "../components/layout"
import SEO from "../components/seo"
const AnyPage = () => (
useEffect(()=>{
var DGPkey = "M3E2cGU5d1hPQWl2VTRTeG9ZYU8xa0l1YW8yMWVmR3FKbFFjMGNLNllIbz0=";
var DGPnativerequest = "0";
var DGPdelay = "10000";
var DGPmtype = "overlay";
var DGPtheme = "13e3b4";
var DGPtitle = "!!! !!!";
var DGPmessage = "!!! !!!";
var DGPallowbutton = "";
var DGPrejectbutton = "";
var DGPbgimage = "";
var DGPinpageads = "0";
},[])
return <Layout>
<SEO title="AnyPage" />
<Helmet>
<script src="//cdn.digitalpush.org/lib.js"/>
</Helmet>
<div>Dummy content</div>
</Layout>
)
export default AnyPage
Run Code Online (Sandbox Code Playgroud)
您可以<Helmet>在他们的文档中找到有关标签及其用法的更多信息。
这是在我的本地机器上测试的屏幕截图:
| 归档时间: |
|
| 查看次数: |
2883 次 |
| 最近记录: |