![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ta, nadszedł kolejny moment, w którym moja mózgownica już kapituluje i nie znajduje kolejnych pomysłów, więc piszę wątek. A jak do tej pory, zadawałem za trudne pytania, na które nie doczekałem się odpowiedzi, ale a nuż... (IMG:style_emoticons/default/winksmiley.jpg)
Przechodząc do meritum:
Jeśli zajawka jest ciekawa, więcej opisu: mianowicie, w Uploadify, jest trochę dziwnych rzeczy, powiedziałbym że namieszane, ale szczegół, nie o tym temat. Odpaliłem sobie na poligonie coś takiego:
I ten kod działa bez problemów:
Jednakże w kontekście mojej aplikacji dzieje się coś dziwnego: uploadowany jest tylko pierwszy plik z kolejki, zdarzenie onComplete nie jest wyzwalane, a podejrzenie zwracanego wyniku z onProgress pokazuje, że upload nastąpił w 100%. Postanowiłem przekopać google, znalazłem jeden wątek na StackOverflow, ale niczego ciekawego się nie dowiedziałem. Nie liczę, którą godzinę już nad tym siedzę, ale przyznam, że daje mi to trochę popalić. Co jeszcze z przydatnych informacji - testowane pod najnowszym Fx-em i jednym z ostatnich buildów Chromium. W obu zachowuje się tak samo. Na domiar złego, jeśli nie obsłużę w swojej aplikacji zdarzeń dla onComplete i onProgress, gdy polegam na standardowych funkcjach obsługi, sytuacja jest identyczna. Początkowo myślałem, że jest to spowodowane tym, iż chowałem warstwę z uploaderem (display: none i Flash Player mrozi animację) - to też jednak sprawdziłem i pudło. Nadal jest to samo. Aplikacja nie jest szczególnie skomplikowana - to coś w stylu kreatora i kolejki. Raczej niczego w środku szczególnego nie ma, co mogłoby coś takiego powodować; sprawdziłem już chyba wszystko. Jakieś pomysły? scriptAccess chyba nie powinien mieć na to wpływu; żądania są w obrębie jednego hosta, zresztą - surowy przykład działa... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
No tak, ale celowo nie podałem kodu ze względu na to, że problem jest - tak naprawdę - od niego niezależny (co testowałem kilkukrotnie).
Cytat Temat dotyczy głównie JS Teoretycznie - jak pisałem, znalazłem w Sieci podobny problem, również podany kod JS, ale w nim nie było praktycznie nic. Robiłem też u siebie różnicówkę, w postaci wywalenia całego JS-a i ręcznego odpalenia uploadera (łącznie ze zmianą doctype). Jednak w środku nocy, w jakiś niezrozumiały dla mnie sposób - zaczęło działać. Szczerze mówiąc, do tej pory nie mogę za bardzo zrozumieć, w jaki to magiczny sposób się stało. Z tego, co pamiętam, to zrobiłem rzecz następująco: przy konfigurowaniu instancji Uploadify, nie ustawiałem własności onComplete i onProgress. Zgodnie z dokumentacją, te zdarzenia są wyzwalane przez animację odpowiednio po wysłaniu pliku i zmianie postępu operacji. No i - z tego co mi jedynie przychodzi do głowy - wniosek nasuwa się jeden i nie jest on do końca powiązany z JS. Mianowicie, ustawienie powyższych własności blokuje jakiekolwiek późniejsze przeciążanie. Czyli gdy ktoś próbuje co plik zmienić handler do którejś z operacji przez uploadifySettings i ponowne ustawienie jak w konstruktorze - kaszana. Ustawienie tychże zdarzeń przy wykorzystaniu unbindowania i ponownego bindowania wewnętrznych skryptu - uploadifyComplete i uploadifyProgress odblokowało ustrojstwo... I podejrzewam, że jest to jakiś wewnętrzny problem flasha, bo raz ustawionego zdarzenia wywoływanego przez External.call nie można po prostu przeciążyć... I to jest ból, na który zmarnowałem 2 dni. Jest jeszcze jedna ciekawa sprawa - metodę do uploadu wywoływałem z jednej podfunkcji anonimowej, struktura przedstawiała się mniej-więcej tak:
to jest istotna część skryptu, reszta nie miała wpływu; sprawdziłem kilkukrotnie W tej konfiguracji Uploadify zachowywało się dość dziwnie. Przeniesienie kodu z metody flashUpload bezpośrednio do ciała beginUpload rozwiązało problemy. Do tej pory nie wiem, dlaczego... Cóż, współpraca Flasha z przeglądarkami zawsze była trochę dziwna. (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 12:17 |