javascript - React 嵌入脚本标签是不可设置样式的

标签 javascript css

我打算在我的网站中嵌入一个 surveymonkey 调查(这是用 React 制作的)。只是让它工作很麻烦,但最终这段代码起作用了:

let script = '<script>overly long link</script>';

let extractScript=/<script>(.+)<\/script>/gi.exec(script);
script = script.replace(extractScript[0], "");

class LeadForm extends React.Component {
    componentDidMount() {
        window.eval(extractScript[1]);
    }

    render() {
        return <div id="surveyMonkey" dangerouslySetInnerHTML={{__html: script}}/>;
    }
}

这在 surveymonkey 呈现时有效,但它停留在屏幕的左上角 - 使大部分网站完全无法使用。 div“surveyMonkey”上的任何 css 样式都不起作用。

任何见解将不胜感激!谢谢。

编辑:他们给我的嵌入调查的代码如下所示:

<script>(function(t,e,s,n){var o,a,c;t.SMCX=t.SMCX||[],e.getElementById(n)||(o=e.getElementsByTagName(s),a=o[o.length-1],c=e.createElement(s),c.type="text/javascript",c.async=!0,c.id=n,c.src=["https:"===location.protocol?"https://":"http://","widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgd2n0EyEqR4XLlegogsUllbowWHzPdjEQtkQpaEg2LAEE.js"].join(""),a.parentNode.insertBefore(c,a))})(window,document,"script","smcx-sdk");</script><a style="font: 12px Helvetica, sans-serif; color: #999; text-decoration: none;" href=https://www.surveymonkey.com> Create your own user feedback survey </a>

最佳答案

感谢@zero298 和@Pambi,下面的解决方案对我有用:

class Survey extends React.Component {

  componentDidMount() {
    let el = document.createElement("script");
    el.src = "https://widget.surveymonkey.com/collect/website/js/tRaisffsdgj758hTBazgd4IXxGtDzETeaqu1iDMfLhIPM5OoAHZFDWBMRDTjq_2dfsd.js";
    document.body.appendChild(el);
}

    render() {
      return <Container className="pageContainer">
      <Row className="homeRow">
      <div id="smcx-sdk"></div>   
      </Row>
    </Container>
    }
  }
  export default Survey

关于javascript - React 嵌入脚本标签是不可设置样式的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47103766/

相关文章:

javascript - 在高 map 中使用自定义边界

javascript - 控制台未定义?

javascript - 我的 javascript 函数陷入了循环......

javascript - 调用ajax后如何使按钮工作

html - Bootstrap 警报正在扰乱 DOM

javascript - 如何将 .js 链接包含到另一个 .js 中?

php - 多维 PHP 数组转换为 HTML 表格

html - 如何使不同行的输入形式相互对齐

javascript - 无论如何,有没有办法在 HTML 内容上实现磨砂玻璃 float div(类似 IO7)

html - CSS 背景仅在 Firefox 中向一个方向重复一轮