2010-12-07 10 views
0

ファンシーボックスを有効にしようとしているので、ユーザーがサムネイルをクリックすると、ビデオがFancyboxウィンドウ/オーバーレイで開きます。私は以下のJavaScript + htmlを持っていますが、Internet Explorerを除くすべてのブラウザですべてうまく動作しています。 Internet Explorerでは、動画を含むYouTubeページに移動します。誰もが問題に精通しており、解決策を知っていますか?FancyboxがIEに読み込まれず、falseを返すfalse

$('body').delegate('.video .thumbholder a','click', function(){ 
    $.fancybox({ 
      'padding'  : 0, 
      'autoScale'  : false, 
      'transitionIn' : 'none', 
      'transitionOut' : 'none', 
      'title'   : $(this).title, 
      'width'   : 680, 
      'height'  : 495, 
      'href'   : $(this).attr('href').replace(new RegExp("watch\\?v=", "i"), 'v/'), 
      'type'   : 'swf', 
      'swf'   : { 
       'wmode'  : 'transparent', 
       'allowfullscreen' : 'true' 
      } 
     }); 
    return false; 
}); 

答えて

0

何かがあなたのreturn false文の前に(例外がスローされます)うまくいかない場合は、ブラウザがリンクをたどるだろう、とあなたは、エラーメッセージを見ることが前に、離れて移動します。これはおそらくIEで起こっていることです。

ファンシーボックスオプションのhrefプロパティをハードコードし、実際のアンカーのhrefjavascript:void(0);とします。こうすることで、エラーの内容を確認できます。

+0

答えm8をありがとう。私はこれまでと同じようなことを試してみましたが、確かにあなたの解決策を試しました。私は動作しませんし、IE7はエラーを返しません。 hrefプロパティをハードコードしたり、fancyboxを開いたり、YouTubeのページを開いたりすることはありません。 – KaiserSoze

0

シンプルです。

$ .fancybox呼び出しの前にこれを入れてください。

event.preventDefault(); 

これにより、hrefがトリガーされなくなります。

関連する問題