jQuery fancyboxプラグインを使用して、ユーザーがリンクをクリックしたときにレコードに関するコンテキスト情報を含むiframeを表示しています。
.fancybox()プラグインは、ajax成功コールバックの実行時に見つかりません。次のようになります。
$(function() {
Widgets = {
show_dialog: function(width, height) {
$('.fancybox').fancybox({ fancybox settings here});
}
}
});
上記のWidgetsオブジェクトが定義されている場合、その直後のブレークポイントをチェックすることで、fancyboxがロードされ、使用可能であることがわかります。次のように$をスコープする無名関数でshow_dialog関数をラップすることで、この関数の呼び出しを修正することもできます。
$(function() {
Widgets = {
show_dialog: function($) { return function(width, height) {
$('.fancybox').fancybox({ fancybox settings here});
}; }($)
}
});
その他の背景...postMessagejQueryプラグインを使用して、子フレームから親フレームにメッセージを送信しています(それが重要な場合)(そうすべきではないと思います)
誰かが何が起こっているのか説明できますか?$はページの実行の後半で再割り当てされたように感じますが、どこにもロードしていません。
編集:fancyboxのスコープを$('。fancybox')。fancybox(に更新しました