![]() |
![]() |
![]()
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ż...
![]() 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... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 13 Dołączył: 23.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zacznę od przyznania, że faktycznie Uploadify jest dziwne, mieliśmy z nim nie jeden problem, również bliźniaczo podobny do Twojego. Aplikacja stojąca na symfony, w wersji dev uploadowała pliki bez problemu (wykluczając bardzo dziwny sposób samego zapisu i dostępu do obiektu file), natomiast po przełączeniu się na tryb produkcyjny uploadował się jedynie pierwszy plik, po kilku godzinach postanowiłem usunąć z kontrolera sfView::NONE i jakimś cudem zadziałało. Nie mam jak odnieść tego do Twojego przypadku ale mam nadzieje, że w jakiś sposób okaże się to pomocne.
Ten post edytował bikerszymek 21.07.2010, 21:45:56 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Tu nie ma żadnego frameworka jeśli chodzi o back-end, więc niestety, za wiele nie pomoże...
Podejrzewam, że któraś z funkcji/metod/bibliotek może się gryźć, ale sprawdziłem chyba wszystkie kombinacje (przed chwilą próbowałem wywalić jquery.fx.color, ale nic to nie dało...), doctype na Strict. Może jeszcze uda mi się wydumać, jak hooki do debugowania w ActionScripcie dorzucić... Cytat Nie mam jak odnieść tego do Twojego przypadku ale mam nadzieje, że w jakiś sposób okaże się to pomocne. A nie pamiętasz może, jakie były różnice w wyplutym kodzie, jakieś szczególne elementy w DOM, etc? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 13 Dołączył: 23.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Temat dotyczy głównie JS
http://forum.php.pl/index.php?showtopic=15...mp;#entry765763 Ten post edytował wookieb 22.07.2010, 07:57:54 -------------------- |
|
|
![]()
Post
#6
|
|
![]() 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. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
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. ExternalInterface nie wywołuje zdarzeń tylko funkcje jakie podasz w argumencie. Wówczas zostanie odpalony aktualny kod funkcji, więc może po prostu uploadify gdzieś blokował przechwycenie zdarzenia. Generalnie ExternalInterface nigdy mnie nie zawiódł nawet przy dynamicznie zmienianym kodzie JS. -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ok, inaczej - miałem na myśli to, że przy wywoływaniu ExternalInterface.call parametru nie dało się przeciążyć. Nie zagłębiałem się mocno w to, co siedziało w bebechach Uploadify od strony AS.
![]() Cytat więc może po prostu uploadify gdzieś blokował przechwycenie zdarzenia Możliwe. Implementacja JS Uploadify jest - hmm - lekko mówiąc: dziwna... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 03:47 |