На самом деле мне удалось активировать ссылку fancyBox только из внешнего JS-файла, используя «живое» событие:
Сначала добавьте событие щелчка в реальном времени в ваш будущий динамический якорь:
$('a.pub').live('click', function() {
$(this).fancybox(... fancybox parameters ...);
})
Затем добавьте якорь к телу:
$('body').append('<a class="iframe pub" href="your-url.html"></a>');
Затем запустите fancyBox, «щелкнув» привязку:
$('a.pub').click();
Ссылка fancyBox "почти" готова. Почему «почти»? Потому что похоже, что вам нужно добавить некоторую задержку, прежде чем запускать второй щелчок, иначе скрипт не готов.
Это быстрая и грязная задержка с использованием некоторой анимации на нашем якоре, но она хорошо работает:
$('a.pub').slideDown('fast', function() {
$('a.pub').click();
});
Вот и все, ваш fancyBox должен появиться загруженным!
HTH