Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP + Ajax] Płynne odświerzanie obrazka
topcio
post 20.01.2017, 12:09:02
Post #1





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

Ostrzeżenie: (0%)
-----


Witajcie
Po raz kolejny potrzebuję pomocy.
Pobieram obraz z kamery i zapisuję go do pliku powiedzmy test.jpg
Miałem na chwilę obecną ustawione, aby strona odświeżała się co x sekund, sposób ten jednak jest nie satysfakcjonujący.
Chciałem zrobić to z wykorzystaniem ajax --> tu jestem noga
Udało mi się z wykorzystaniem periodicalUpdater zrobić odświeżanie DIVa, jednak to nie odświeża obrazka, z wiadomych przyczyn. Nie ma zmiany w kodzie php, to nie ma co odświeżać.
Czy istnieje jakiś sposób na odświeżanie tylko obrazka na stronie, gdy ten zmieni swoją wielkość, bo chyba tylko w taki sposób można wywnioskować, że się on zmienił (nazwa zostaje zawsze ta sama).
Z góry dzięki za pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 20.01.2017, 12:17:03
Post #2





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Ajax tu nie jest potrzebny skoro operujesz tylko na obrazku.
Ustaw w kodzie js by co x sekund zmienial src obrazka na:
http://sciezka/do/obrazka.jpg?time

Gdzie za time bedziesz podstawial aktualny unixtimestamp i po sprawie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
topcio
post 20.01.2017, 12:39:05
Post #3





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

Ostrzeżenie: (0%)
-----


Pomysł jest dobry, ale nie do końca działa poprawnie

Kod

  1. <script language="JavaScript">
  2. function refreshIt() {
  3. if (!document.images) return;
  4. document.images['kamera'].src = 'pages/test/test.jpg?' + Math.random();
  5. setTimeout('refreshIt()',1000);
  6. }
  7. </script>
  8. </head>
  9. <div class="col-lg-3 col-md-4 thumb">
  10. <div class="thumbnail" >
  11. <a href="#">
  12. <img class="img-responsive" src="/pages/test/test.jpg" alt="" id="kamera" name="kamera">
  13. </a>
  14. </div>
  15. </div>
  16. </body>
  17.  


Problem polega na tym, że cała strona (div wyżej) odświeżana jest Ajaxem, i teraz widać na stronie, że pojawia się nowy obrazek, ale tylko na ułamek sekundy, po czym z powrotem wczytuje się ten, który był na początku.


Go to the top of the page
+Quote Post
nospor
post 20.01.2017, 12:42:12
Post #4





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Nie kumam. A po co to jeszcze odswiezasz ajaxem?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
topcio
post 20.01.2017, 12:47:18
Post #5





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

Ostrzeżenie: (0%)
-----


W sumie, mogę spróbować to ominąć.
Ale sens był taki, że główny DIV wczytuje tylko te kamery, do których dany user ma dostęp.
Mam 200 kamer
User A ma dostęp do 20
User B do 10
ajaxem doczytuję plik, w którym są includowane tylko te DIVY(wewnętrzne), do których dostęp ma dany user.
No i po takim wczytaniu pojawia się galeria z obrazkami (stream z kamer), które to mają się odświeżać płynnie
Go to the top of the page
+Quote Post
nospor
post 20.01.2017, 12:49:52
Post #6





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




No i po co odswiezac to ajaxem ciagle? Co minute zmieniaja sie prawa usera do kamer?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
topcio
post 20.01.2017, 12:53:56
Post #7





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

Ostrzeżenie: (0%)
-----


Tu dlatego napisałem, że mogę to ominąć.
Aplikacja jest bardzo rozbudowana i czasem się już w niej gubię tongue.gif
A dlaczego głównego diva odświeżam, bo plik się zmienia jeśli jest awaria kamery bądź rejestratora, wtedy by klient nie widział czarnej pustki ma się wczytać div z info o awarii.
Spróbuję to obejść od tyłu. smile.gif
Dzięki za pomoc.
Go to the top of the page
+Quote Post
nospor
post 20.01.2017, 12:58:23
Post #8





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Nawet jesli musisz odswiezac tym ajaxem, to nic nie stoi na przeszkodzie bys podczas odswiezania dopisywal numerek do adresu zdjecia i tez bedzie dzialac az milo


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
topcio
post 20.01.2017, 13:04:15
Post #9





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

Ostrzeżenie: (0%)
-----


Nie pomyślałem smile.gif
Wyłączyłem na szybko ajaxa i działa ładnie, ale czasem pojawia się efekt zniknięcia obrazu, wygląda jakby w momencie odświeżania nie było pliku test.jpg w katalogu. Dziwne, może to kwestia serwera (jest leciwy).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 12:53