Safari probleem

  • tfr 10 a

    On siis olukord, kus miski buttoni litsumise peale tõmmatakse käima JS funktsioon, mis tekitab jQuery.UI abil dialoogi (mille sisuks on "y0, palun oota veits") ja siis teeb sellele kohe selga .ajax() requesti.

    Kõigi muude brauseritega töötab asi nagu peab, aga Safariga dialoogi ei tule. Kui AJAX request ära võtta (et jääb ainult .dialog("open")), siis tuleb. AJAX request ise võtab aega ~8-10 sekundit, seega selles ka probleem pole, et aken pannakse enne kinni, kui vastus tuleb.

    Kinni pannakse see dialoog muidu .ajaxi success callbackis. Panin sinna close ette testiks ühe alerti ka, välistamaks seda, et execution mingil põhjusel enne requesti lõppu sinna jõuab. Ei jõua.

    Googlest ka esimese hooga abi ei leidnud. On keegi sarnase asja otsa jooksnud?

    07. november 2010 - 15:17:42 · Otselink

  • tfr 10 a

    Nii, ise küsin, ise vastan - selgus, et süüdlane oli AJAXi päringule peale jäänud parameeter async:false. Paistab et juhtus see, et seda dialoogi hakati taustal joonistama, execution jõudis AJAXini ja seal see async:false pani Safari JS engines kogu muu elu seisma.

    07. november 2010 - 17:43:28 · Otselink