【问题标题】:Load external script which has document.write using ReactJS使用 ReactJS 加载具有 document.write 的外部脚本
【发布时间】:2018-11-06 09:02:59
【问题描述】:

我正在尝试使用以下脚本加载 cricruns 小部件,该脚本具有 document.write,它将在我提供的特定容器中加载小部件。如何在 ReactJS 中的 render() 中实现这一点?

<script src="//www.cricruns.com/system/application/views/widgetBase/wid_300_200_1.js" type="text/javascript"></script>

请查看fiddle 了解更多关于我想要实现的目标。

提前致谢。

【问题讨论】:

  • 有document.write是什么意思?

标签: javascript html reactjs dom react-dom


【解决方案1】:

***更新:好的,我已经玩了一点。如果您只是绕过 document.write 并使用 dangerouslySetInnerHTML 直接添加 iframe,它就可以工作。我在下面添加了一个工作代码框和一个代码示例。

希望对你有帮助!

https://codesandbox.io/s/z6k1w94z8m

import React from "react";
import { render } from "react-dom";

const App = () => {
  return <div dangerouslySetInnerHTML={{__html: `
  <iframe src="https://www.cricruns.com/widgetbase/wid_300_200_1"; width=250&amp;colorscheme=light&amp;show_faces=true&amp;stream=false&amp;header=true&amp;height=320 " scrolling="yes" frameborder="0" style="border:none; overflow:hidden; width:310px; height:250px;" allowTransparency="true"></iframe>
  `}} />;
};

render(<App />, document.getElementById("root"));

【讨论】:

  • 加载脚本后,我想获取脚本中的内容(其中有document.write(...),它将把小部件加载到那个特定的容器中)。请检查此fiddle
  • 太棒了!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2014-03-10
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
  • 2012-01-09
  • 2014-04-11
相关资源
最近更新 更多