如何在gatsby的HEAD中放置第三方脚本标记

时间:2018-01-08 20:37:43

标签: reactjs gatsby

盖茨比提供了一种操纵主html.js的方法link to gatsby docs

但这仍然是一个React组件,我需要在Head中放置一个自定义分析脚本。我试过eval,用大括号括起脚本内容,没什么用。

1 个答案:

答案 0 :(得分:1)

使用dangerouslySetInnerHTML找到解决方法。由于它将剥离我们的脚本标签,我只是在Head中放置了一个脚本标签,并将attr dangerouslySetInnerHTML设置为第三方提供的脚本内容。例如在html.js的渲染功能中:

 const googleOptimizeFlickeringScript = {
  __html: `(function(a,s,y,n,c,h,i,d,e){..........`
}
return (
  <html>
    <head>
      <style dangerouslySetInnerHTML={googleOptimizeFlickeringStyle} />
      <script dangerouslySetInnerHTML={googleOptimizeFlickeringScript}/>