我目前在 Tumblr 主题上遇到了 Disqus 的问题。
主题本身使用同位素(如果你不熟悉它本质上是一个更有特色的付费版本的 Masonry),并且集成了 Disqus。
问题是客户希望我们将 Disqus 评论放在与单个帖子相同的 div 中。不幸的是,Isotope 和 Disqus 不能很好地配合使用 - 发生的情况是 Isotope 在 Disqus 加载的 iFrame 完成加载之前布局页面,在此过程中破坏了布局。我可以很容易地通过运行重新布局页面$('#isotope').isotope('reLayout');
,但我很难找到触发它的好方法。
一旦页面上的所有 iframe 都完成加载,我需要触发它。Disqus 使用 JavaScript 动态插入 iframe 元素,所以我认为使用以下方法可以解决问题:
$('body').on('load', 'iframe', function () {
// Do stuff here
});
但是,这永远不会触发。
我整理了一个jsFiddle,展示了我想要做的事情。
谁能看到我哪里出错了?