![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Witam! Mam swoją captchę napisaną w php gd i postanowiłem sobie ją ulepszyć o odświeżanie obrazka po kliknięciu na niego. Prawie wszystko działa po za jednym -w Chrome wszystko jest tak jak powinno być -klikamy na obrazek jeśli jest niezbyt czytelny, pojawia się mały loader i po sekundzie mamy nowy obrazek a loader znika. We wszystkich innych przeglądarkach obrazek pomimo, że zostaje utworzony nowy to nie pokazuje się on na stronie w miejscu starego tylko wyświetla się cały czas stary. Czy chodzi o Cache przeglądarki? Jeśli tak to jak ją wyczyścić, żeby wczytała sobie nowy obrazek przedstawiam kod do refresha obrazka po kliknięciu
Tu gdzie nadaję atrybut src dla #captcha_oglo jest to taka sama ścieżka jak była przed kliknięciem -tak jak pisałem wyżej w chromie działa, co mogę robić nie tak? Próbowałem też obchodzić to w jakiś sposób wzorując się na min. http://forum.php.pl/index.php?showtopic=85511 ponieważ zmiana obrazka na obrazek z inną nazwą odbywa się bez problemu pod wszystkimi przeglądarkami. Pozmieniałem trochę skrypt tworzenia obrazka captcha i jest zapisywany na zmianę z dwoma końcówkami 1 lub 2 i w zależności jaki jest na stronie po refreshu obrazka na nowy wczytywany jest z inną literką. Ale niestety wtedy do cache przeglądarki zapisane są po prostu dwa obrazki o tych dwóch różnych nazwach i kiedy refreshuję obrazek to pokazują się właśnie one naprzemiennie. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj do adresu obrazka dodać:
Kod 'CLASS/Captcha/fotoCapt.jpg?_='+(new Date()).getTime() W różnych przeglądarkach jest różnie, a z tym sposobem nigdy nie miałem problemów. Ten post edytował expert 10.01.2013, 19:07:12 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Chyba będziesz moim nowym mentorem od tej pory
![]() Dlaczego podpięcie do ścieżki do obrazka obiektu Date() oraz wywołanie getTime() powoduje, że obrazek się odświeża? Pytam bo może się to przydać jeszcze w przyszłości nie raz |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego, że (new Date()).getTime() to aktulany czas z dokładnością so do milisekundy i każde wywołanie tej funkcji da Ci zawsze inną liczbę. Podpinając to do adresu obrazka, zawsze będziesz miał inny adres, nawet zmiania z 234234234234234 na 234234234234235 to już inny adres dla przeglądarki. Jedyny wyjątek, gdy w tej samej mili sekundzie wywołasz funkcję, to adres będzie ten sam. Ale to jest bardzo mało prawdopodobne.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 228 Pomógł: 7 Dołączył: 15.08.2012 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Często używam podpinania do adresu po pytajniku różnych rzeczy np xxx.php?xxxx=www&eeeee=rrrrr ale nie wiedziałem, że można tak podpiąć do nazwy obrazka obrazek.jpg?_=xxxxx -obrazek wyskoczy ten sam bo do pytajnika nazwa jest nie zmieniona a to co jest po pytajniku to już nie ważne (ważne żeby było inne niż wcześniej)
rozumiem dzięki Ten post edytował adamantd 11.01.2013, 23:02:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:25 |