1

現在、Tumblr テーマの Disqus に問題があります。

テーマ自体は Isotope を使用しており (詳しくない場合は、基本的に Masonry のより機能的な有料バージョンです)、Disqus が統合されています。

問題は、クライアントが個々の投稿と同じ div 内に Disqus コメントを配置することを望んでいることです。残念ながら、Isotope と Disqus はうまく連携できません。Disqus が読み込まれる iFrame の読み込みが完了する前に、Isotope がページをレイアウトし、その過程でレイアウトが台無しになります。を実行することでページを簡単に再レイアウトできますが$('#isotope').isotope('reLayout');、それをトリガーする良い方法を見つけるのに苦労しています。

ページ上のすべての iframe の読み込みが完了したら、トリガーする必要があります。Disqus は JavaScript を使用して iframe 要素を動的に挿入するため、次のようにするとうまくいくと思いました。

$('body').on('load', 'iframe', function () {
    // Do stuff here
});

ただし、これがトリガーされることはありません。

私がやりたいことの種類を示すjsFiddleをまとめました。

誰かが私がどこで失敗したかを見ることができますか?

4

2 に答える 2

0

iframe が外部ドメインからのものである場合、クロスドメイン ルールによりそれを行うことはできません (iframe の特定のイベントにバインドすることはできません)。

ただし、レイアウトの問題に関する限り、iframe が常に幅と高さが定義された固定サイズになるようにレイアウトを設計した場合、iframe はコンテンツの読み込み時にレイアウトに影響を与えません (驚いていますが)そもそも、iframe 自体がリサイズされるとは思いませんでした)

于 2013-05-13T11:40:03.967 に答える