我有这个react.js脚本,它将以下代码添加到html
// returned by the render method
React.DOM.div({
dangerouslySetInnerHTML: {
__html: '<script type="text/javascript" async="" src="//myapp.disqus.com/embed.js"></script>'
}
})
现在我的html看起来像:
<script type="text/javascript" async="" src="//myapp.disqus.com/embed.js"></script>
这似乎是完美的,但问题是,它不加载脚本。script标签插入正文中间,嵌套在其他div标签中。
可能是什么问题?由于
用react将脚本标记呈现到页面上并不是正确的解决方案——我无法让它与JSX一起工作,我认为这里也适用。不知道为什么,但只是添加它的普通旧的javascript方式:
var script = document.createElement("script");
script.src = "//myapp.disqus.com/embed.js";
script.async = true;
document.body.appendChild(script);
我昨天刚刚将Disqus添加到我的React应用程序中。我使用了"react- discus -thread"模块,很快就启动并运行了起来。
这里是在github: https://github.com/mzabriskie/react-disqus-thread
和npm: https://www.npmjs.com/package/react-disqus-thread
组件采用以下道具:
- 短名称-这是'myapp'在//myapp.disqus.com/embed.js
- 标识符-一个唯一的blogId,可以在url更改时识别您的博客文章 标题
- url -如果你不提供这个,模块将检测url并提供它。
您测试的是哪个浏览器?如果你在你的脚本标签中使用async="true",它不会阻塞。但目前只有几个浏览器支持。