2010-12-07 3 views
0

Я пытаюсь включить fancybox, чтобы при нажатии пользователем эскиза видео открывается в окне/оверлейном Fancybox. У меня есть следующий JavaScript + html, все работает нормально во всех браузерах, кроме Internet Explorer. В Internet Explorer он просто переходит на страницу youtube, содержащую видео. Кто-нибудь знаком с проблемой и знает решение?Fancybox не загружается в IE, игнорируя return 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 Недвижимость в вариантах fancybox, и пусть href фактического якоря будет javascript:void(0);. Таким образом, вы можете увидеть, что такое ошибка.

+0

Спасибо за ответ m8. Я попробовал что-то подобное раньше, и попробовал ваше решение, чтобы быть уверенным. Я не работаю, и IE7 не возвращает никаких ошибок. Дело в том, что я жестко кодирую свойство href, а fancybox не открывается, а также страницу youtube. – KaiserSoze 2010-12-07 16:02:29

0

Простой.

Положите это перед вызовом $ .fancybox.

event.preventDefault(); 

Это остановит href от запуска.

Смежные вопросы