Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Slajdy w Safari
Forum PHP.pl > Forum > Przedszkole
MalKavar
[JAVASCRIPT] pobierz, plaintext
  1. function getData(plik, div){
  2. $.ajax({
  3. type : "POST",
  4. url : plik,
  5. cache: true,
  6. success: function(ret) {
  7. document.getElementById(div).innerHTML = ret;
  8. },
  9. error: function(jqXHR, errorText, errorThrown) {
  10.  
  11. }
  12. });
  13. }
[JAVASCRIPT] pobierz, plaintext


Więc korzystam z takiej funkcji. Wszystko ok, działa dobrze - za wyjątkiem Safari, która podczas przesyłania droga ajax znacznika <img> robi efekt "migania". W założeniu mojego projektu aktualizuję obrazek co 2 sekundy. Miganie staje się widoczne, kiedy obrazek pozostaje ten sam. Czy to jakaś wada "fabryczna" Safari, czy jedynie jakiś błąd w skrypcie/funkcji?
Dodam, że testowałem na Firefox i Chrome, gdzie działa bezproblemowo.
trueblue
A dlaczego pobierasz kod obrazka ajaxem, a nie tylko źródło?
I dlaczego w ogóle robisz to ajaxem (pula zdjęć jest zmienna i zależna od czegoś)?
MalKavar
Więc tak - pobieram kod obrazka razem ze znacznikiem, ponieważ liczba owych jest zależna od "postępu". Z tego samego powodu ajax - czysty php by zamęczył użytkownika.
trueblue
Ale czy to musi się odbywać w tle, bez przeładowania strony? Nie można tych obrazków pobrać raz przy załadowaniu strony i zmieniać cyklicznie poprzez js?

W jaki sposób wywołujesz funkcję getData?
MalKavar
[JAVASCRIPT] pobierz, plaintext
  1. getData('iplik.php','diVId');
[JAVASCRIPT] pobierz, plaintext


Wywołanie w ten sposób.
A co do pobierania na początku - Teraz by mogło być ok, ale w przyszłości by mogło dojść do nawet tysiąca obrazków, a wtedy pobranie ich wszystkich było by długotrwałe + zapewne w ciągu godziny by zostało użytych do 30. Więc to byłoby marnotrawienie pamięci operacyjnej i megabajtów. I myślę, że problem by pozostał. W sensie tych "slajdów"
trueblue
Wywołujesz tą funkcję cyklicznie? Jak?
Jest jakiś preloader obrazków?
Po co podmieniasz cały kod obrazka, zamiast wczytywać i zmieniać tylko atrybut src?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.