此问题仅出现在 Firefox 14.0.1 中(我无法在任何其他浏览器中重现它)。如果您将 Disqus 注释的代码放在隐藏的元素中,并等待所有内容完全加载,然后使用 JavaScript 显示该元素,则注释框或注释都将显示。但是,如果您调整窗口大小,它会立即显示出来。不过,它在最新版本的 Google Chrome 和 Safari 中运行良好。
是什么原因造成的以及如何解决?
重现的示例代码:
<div id="test" style="display:none;">
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'onlinefunctions'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
<a href="#" onclick="document.getElementById('test').style.display = 'block'">show</a>