2011-12-17 7 views
0

facebookのタブ/キャンバスでカラーボックスを使用する際に少し問題があります。Facebookのタブ/キャンバスの.load-callbackにカラーボックスを設定します。

基本的に私はキャンバスページにajax(jQuery)を含む別のファイル(少数の画像が含まれています)を読み込み、カラーボックスにそれらの画像を開くようにしたいと思います。私のアヤックスのコールバックにcolorboxを添付すると、すべてうまく動作します。ではなく、のfacebook canvasにある限り、.loadです。

しかし、フェイスブックでページを開くとすぐに、それはもうカラーボックスを開きません。他のすべてのjQuery関数は動作しています。

コード例

$('#slider').load('content.php', { ajax: 'on' }, function(e) { 
      $('.gallery').colorbox({rel:'gal'}); 
}); 

私はそれを動作させるために解決策を見つけた - 私は、Ajaxがロード取得されたファイルにカラーボックスを定義する必要があります。しかし、私はコールバックで動作していない理由を理解していないと私は非常に素晴らしい解決策だとは思わない。私が前に進んでfb-キャンバスでさらなることを開発する前に、なぜこれが起こっているのかを知る必要があります。

答えて

0

私は今すぐにいくつかの迅速かつ汚れたテストをして、それはすべて正常に動作します。問題を再現しようとしましたが、何も見つかりませんでした。私は目が見えなくてはなりませんでしたが、私のデバッガは実際に.load()のコールバックについて不平を言っていました!私はそれで何か問題を見ることができないと私は専門家だが、私のデバッガ(Firebugのは)それをリストには理由があったん

$('#slider').css({left: (-100 * $('#' + History.getState().data['show']).position().left/$('#data').width()) + '%'}); 

:それはちょうど1ライン(カラーボックスコール前)でした後にcolorbox-callを除いて、まだ動作していた(コメントなしの)コンソール。そして、ここが問題です:このラインの前にcolorbox-callを置いた後(それはすべてload()の同じコールバックにあります)、それはすべて機能しました。

まだ混乱していて、これが何か分かりません。 これは、colorbox-callをすぐ後ろに置いたときにデバッガが泣くだけなので、まだこれがcolorboxと無関係かどうかはまだ分かりません。奇妙な!

関連する問題