在react组件中添加&#39; <script>'

时间:2017-09-26 04:37:59

标签: reactjs

我想在react组件中添加以下脚本标记

&#xA;&#xA;
 &lt; script&gt;&#xA; window.fcSettings = {&#xA; token: “XXXXXXXXXXXXXXXXXX”,&#xA;主持人:“https://wchat.freshchat.com”,&#xA; siteId:“SITE_ID”//可选:您网站唯一的ID&#xA;};&#xA;&lt; ; / script&gt;&#xA;  
&#xA;&#xA;

在我的反应组件中我确实喜欢以下

&#xA;&#xA;
  componentDidMount(){&#xA; var fc_JS = document.createElement('script');&#xA; fc_JS.type ='text / javascript';&#xA;(document.body?document.body: document.getElementsByTagName('head')[0])。appendChild(fc_JS); window.token ='xxxxxxx'; window.host ='host_name';&#xA; window.siteId:“SITE_ID”;&#xA; }&#xA;  
&#xA;&#xA;

但不工作

&#xA;&#xA;

以下代码在html模板中文件正在运行

&#xA;&#xA;
 &lt; div id ='freshteam-widget'&gt;&lt; / div&gt;&#xA;  - &lt; script src ='https ://s3.amazonaws.com/files.freshteam.com/attachments/10003920/original/0212_widget.js 15526251' &GT; &lt; / script&gt;&#xA;  
&#xA;&#xA;

但这样反应

&#xA;&#xA;
 < code> componentDidMount(){&#xA; var fc_JS = document.createElement('script');&#xA; fc_JS.type ='text / javascript'; fc_JS.src = 'URL';&#XA;的console.log(fc_JS)&#XA; document.getElementsByTagName( '头')[0] .appendChild(fc_JS);&#XA;}&#XA;&#XA; render(){&#xA;返回(&#xA;&lt; div id ='freshteam-widget'&gt;&lt; / div&gt;&#xA;)&#xA;}&#xA;  
&#xA;& #xA;

无法正常工作

&#xA;&#xA;

请帮助

&#xA;

1 个答案:

答案 0 :(得分:-1)

您可能想要使用react-helmet

import Helmet from "react-helmet";

//inside the render method
render() {
  return(
    <div>
      <Helmet
        script={[
          { innerHTML: `
           window.fcSettings = { token: "XXXXXXXXXXXXXXXXXX",host: "https://wchat.freshchat.com", siteId: "SITE_ID"};
          `}
        ]}
      />
      {/*the rest of your code here*/}
    </div>
  );
}