我打算将 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>