Fancybox иногда перенаправляет текущую страницу вместо загрузки в iframe

У меня есть fancybox для функции поиска, которую я использую уже некоторое время. Недавно я обновился до fancybox 2.0. С тех пор, как я обновился, время от времени один из моих fancybox загружается в текущем окне вместо iframe. Вот применимый код:

<a href="../rets/search.aspx" class="mlsSearch">Search</a>

И fancybox js

$("a.mlsSearch").fancybox({
    'hideOnContentClick': false,
    'padding': 0,
    'type': 'iframe',
    'scrolling': 'auto',
    'centerOnScroll': false
});

Любая идея относительно того, что может быть причиной этой проблемы? Я не могу понять, почему этот ломается, а остальные с аналогичным кодом работают нормально.


person Phillip Schmidt    schedule 30.11.2012    source источник
comment
Любая ошибка выводится через консоль firebug?   -  person SG 86    schedule 30.11.2012
comment
@ SG86 нет - кроме неудачного запроса GET на сайт, который ищет replace.js. Я не думаю, что это связано с fancybox. Хотел бы я точно знать, что это такое, но я не писал этот код, я унаследовал его.   -  person Phillip Schmidt    schedule 30.11.2012
comment
В вашей ссылке нет класса с именем или mlsSearch.   -  person Alex Mendez    schedule 30.11.2012
comment
@AlexMendez Извините, это была ошибка копирования. В реальном коде он есть   -  person Phillip Schmidt    schedule 30.11.2012
comment
Как сказала SG86, обычно это ошибка скрипта. Консоль Firebug может не отображать его, так как он сбрасывается при загрузке новой страницы. Попробуйте консоль ошибок веб-разработчика (Ctrl+Shift+J в Windows).   -  person Richard Deeming    schedule 30.11.2012
comment
Вы тоже пробовали обновить параметры API fancybox? В v2.x они новые и НЕ совместимы с предыдущими версиями. Например, hideOnContentClick не существует в v2.x, но вместо него следует использовать closeClick. Проверьте соответствующую документацию, чтобы найти правильные варианты.   -  person JFK    schedule 30.11.2012


Ответы (1)


У меня была аналогичная проблема, и причина заключалась в том, что если вы используете Fancybox в режиме iFrame и хотите принудительно использовать такой контент:

<span onclick="$.fancybox({content:'Hello',type:'iframe'});">Iframe</span>

... тогда значение содержимого должно быть действительным URL-адресом, который загружается в iFrame. Вероятно, вы не можете указать HTML-код для iFrame. Вместо этого будет искаться URL "Hello".

Это отлично работает:

<span onclick="$.fancybox({content:'Hello'});">Iframe</span>
person Racky    schedule 24.09.2013