На самом деле, ни одно из ранее опубликованных решений не работает в реальной жизни, почему?потому что строка:
$("#various1").fancybox();
не запускает fancybox, она просто привязывает fancybox к селектору # различным1, но для запуска модального / лайтбокса все равно нужен щелчок (не всплывающее окно).Кстати, решение Gearóid в любом случае имеет синтаксические ошибки.Единственная реальная ценность заключается в том, что они предлагают использовать jQuery cookie-плагин (старый сайт).
EDIT : (07 марта 2012 г.) Плагин jQuery cookie-файловдомашняя страница перенесено сюда .
Шаги для рабочего решения:
A) Загрузите плагин cookie jQuery (как предлагается) после jQuery и jancy файлов fancybox *
B) Затем используйте этот скрипт:
<script type="text/javascript">
function openFancybox() {
setTimeout( function() {$('#various1').trigger('click'); },20000);
}
$(document).ready(function() {
var visited = $.cookie('visited');
if (visited == 'yes') {
return false;
} else {
openFancybox();
}
$.cookie('visited', 'yes', { expires: 7 });
$('#various1').fancybox();
});
</script>
C) вам все еще нужно где-то в вашем HTML-коде (возможно, скрытый)
<a id="various1" href="path/target"></a>
илидля встроенного содержимого
<a id="various1" href="#target"></a>
<div style="display: none;">
<div id="target">message to display in fancybox</div>
</div>
Кроме того, если вы используете встроенное содержимое и fancybox v1.3.x, проверьте наличие ошибки и обходного пути здесь
PS.fancybox - это не всплывающее окно, а модальный / лайтбокс jQuery-плагин, который представляет собой неинтрузивное решение, такое как jGrowl с точки зрения пользовательского интерфейса.