Witam wszystkich. Mam pytanie. Piszę sobie przeglądarkę właśnie, i teraz chcę zrobić własne okienko downloadu - żeby się nie wyświetlało to z IE. No i tu problem. Które zdarzenie komponentu WebBrowser odpowiada za pobieranie. Dokładnie chodzi mi o rozpoczęcie pobierania, w czasie pobierania - czyli coś się ma dziać jak pobiera i zakończenie pobierania. Czy to są zdarzenia OnBeginDownload i te inne z download w nazwie? Jeśkli tak to napiszcie. No i co potem dalej zrobić? Jak wyświetlę SaveDialog z pytaniem gdzie zapisać ściągnięty pik, to jakiej funkcji potem urzyć? Z góry dz za pomoc
Sorry, OnBeginDownload to jest chyba zdarzenie, jak zaczyna pobierać (wczytywać) stronę. No to które zdarzenie jest aby zacząć pobierać, w trakcie pobierania i zakońćzenie pobierania? No i jakie funkcje np do tego? Bo wszystko mam ok se zrobiłęm, tylko zależy mi jeszcze, aby wyświetlać swój download a nie z IE.
OnBeforeNavigate2(); // można tu zmienić okno w którym będzie ładować lub zabronić ładowania
OnDownloadBegin(); // rozpoczyna ściąganie
OnProgressChange(); // można użyć do pokazania paska
OnDownloadComplete(); // ściąganie zakończone
OnNavigateComplete2(); // koniec ładowania
no ok dz, ale jak jak dam pokazanie okna pobierania OnDownloadBegin to mi się ono pokazuje przy przejściu na każdą inną stronę, gdy wpiszę adres i przejdę.
A słyszałeś może o takiej konstrukcji jak if/else ?
Rozwijając wypowiedź wyżej, sprawdź co jest pobierane, czy strona czy plik.
Tak, słyszałem. I sorry, bez obrazy, ale ty nie musisz być taki nie miły. Fiołek, bardzo proszę, powiedz jak to sprawdzić, bo ja początkujący w tych tematach xD
a dokłądniej, to czy możecie mi pokazać przykłądowy kod, jak to np zrobić. Bo próbuję i nie wychodzi. Z góry dz
Jeżeli zwracana zawartość jest typu “text/html” to znaczy że to jest strona, w pozostałych przypadkach - plik.
ok rozumiem, tylko jakoś nie wiem (znowu, sorry), jak sprawdzić, czy zwracana jest strona (chodzmi mi o funkcję, nie wiem jaka), bo to by miało tak wyglądać:
if strona. html then //…
else
// i tu to co ma robić jeśli to plik jest. Tylko jakoś nie weim co zrobić, aby zobaczyć co zwraca. Proszę pokażcie mi drobny kod w delphi I potem jak już dojdzie do pobierania, to co dalej? Bardzo pls :")
Sprawdź typ MIME. W której zmiennej to jest zapisane sprawdź w dokumentacji.
Użyj najpierw komendę HEAD zamiast GET/POST zwraca ona tylko nagłówek pobieranego pliku. Radze tez wziąć Mozila ActiveX Control zamiast standardowego IE, w mozile masz pełną kontrole, i jest dostępne źródło przeglądarki.
Dzięki za wszystko