Właściwie udało mi się wywołać link fancyBox tylko z zewnętrznego pliku JS za pomocą zdarzenia „na żywo”:
Najpierw dodaj zdarzenie kliknięcia na żywo do przyszłej kotwicy dynamicznej:
$('a.pub').live('click', function() {
$(this).fancybox(... fancybox parameters ...);
})
Następnie dołącz kotwicę do ciała:
$('body').append('<a class="iframe pub" href="your-url.html"></a>');
Następnie uruchom fancyBox poprzez „kliknięcie” kotwicy:
$('a.pub').click();
Link do fancyBox jest teraz „prawie” gotowy. Dlaczego „prawie”? Ponieważ wygląda na to, że musisz dodać trochę opóźnienia przed uruchomieniem drugiego kliknięcia, w przeciwnym razie skrypt nie będzie gotowy.
To szybkie i brudne opóźnienie przy użyciu animacji na naszej kotwicy, ale działa dobrze:
$('a.pub').slideDown('fast', function() {
$('a.pub').click();
});
Proszę bardzo, twój fancyBox powinien pojawić się jako załadowany!
HTH