Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno jQuery - fancybox - ak sa otvorí a pridám dynamicky položku, vyhodí mi Firebug chybu

Problém súvisí s vláknom:
803909

Úprava mi funguje, ale objavil sa tento problém:
Ak na mojej reálnej aplikácii otvorím fancybox (kľudne môžem predtým aj vytvoriť nové elementy), tak sa otvorí na hociktorom elemente. Potom ho zavriem, pridám ďalšie elementy a skúsim otvoriť fancybox pri nich. Dostanem hlášku od Firebugu:

t is undefined

a odkazuje mi to na riadok, kde sa volá CSS súbor s Google fontom. Ak ten riadok vymažem, ukáže mi to zas iný riadok atď. Ani jeden riadok nesúvisí s touto chybou.

Je to chyba súvisiaca s fancyboxom a po hľadaní som našiel tento link:
http://forums.asp.net/t/1685921.aspx/1?fancybox+po p+up+problem+

Problém tam bol vyriešený. Ja na scripty používam

$(function(){
  ...
})

Nepomáha ani keď presuniem otvorenie fancyboxu do ready:

$.ready(function() {
  $(".fancybox").fancybox();
});

Skúšal som aj vyhodiť všetky v tej chvíli nepotrebné pluginy jQuery a nechal som len samotné jQuery, fancybox, inicializáciu fancyboxu a môj script na dynamické vytvorenie elementov. Nepomohlo. Vtedy mi Firebug ukazuje chybu na riadku pre načítanie samotného scriptu jQuery.

Teraz som si všimol, že chybu mi ukazuje vždy na 17. riadku html kódu bez ohľadu na to, čo sa v ňom nachádza.

Doplnené: Teraz ma napadlo, či to nesúvisí s tým, že v otvorenom okne fancyboxe sa tiež načíta script fancyboxu, ktorý prepíše volanie pôvodného fancyboxu a teda pri generovaní nových elementov sa nastaví odkaz na už zatvorený script fancyboxu a preto je nedefinovaný?

Ako môžem v okne detekovať, že v materskom okne bol otvorený fancybox? Myslím niečo v tomto štýle:

if (parent.$.fancybox)
  alert('toto je okno fancyboxu');

Môže mi niekto poradiť ako to prepísať do výrazu, ktorý javascript pochopí? Stačí mi detekcia, že nejaký parent vôbec existuje.

Předmět Autor Datum
Takže problém bol v tom, že sa načítavali v otvorenom okne všetky scripty. Vyriešené.
msx. 16.04.2012 18:41
msx.
Problém s otvorenými scriptami som vyriešil otvrením fancyboxu v iframe. Nevýhodou je, že sa nedokáž… poslední
msx. 16.04.2012 19:33
msx.

Zpět do poradny Odpovědět na původní otázku Nahoru