![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki problem. Chce aby dla każdego zdjęcia w dokumencie był dodany znacznik onload który wywołuje funkcje ajaxową która zwraca dla niego odpowiednie elementy html. Problem w tym że na mozilli zdjęcie się ładuje i onload wywołuje funkcje ajaxową. Jednak na chromie zdjęcie niby ma onload ale tych elementów nie ładuje... Wydaje mi się że zdjęcie za wczesnie się ładuje a dopiero wtedy jest mu dodany znacznik onload.. Teraz mam to zrobione tak: $(document).ready(function(){ $(img).load().each(function(){ var pic = $(this).attr("id"); $(this).attr({"onload": "showMarker("+pic+")}); }); }); Próbowałem z $(window).load(); ale to też nie daje rady.. po prostu musze wczytać znaczniki zanim zdjęcie się załaduje.. macie jakieś pomysły jak to zrobić? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
w konsoli masz jakieś błędy?
nie wiem czy tylko tu się pomyliłeś ale to $(img) powinno być $("img") plik z tym js'em spróbuj wczytać przed </body> |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Nie odpisałem "" ale w prawdziwym kodzie to mam. Problem w tym że ten kod muszę wywolać w body.. innego wyjścia nie mam. A problem z tym że onload nie działa w chromie
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
po co Ci load()?
wystarczy samo $('img').each |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Okej ale to i tak nic nie daje. próbowałem wszelkich sposóbów. Problem leży w tym , że artykuł jest z TINY MCE i finalnie zdjęcia wychodza bez żadnej klasy i żadnego id.. Ja w document.ready muszę nadać im klasy id, kontenery które ich odaczają i dodać im onload by po załadowaniu zdjęcie opaliło funkcje i wczytało sobie dodatki poprzez ajax.. na mozilli działa to, wydaje mi się że znacznik onload jest dodany wczesniej niż finalnie img znajdzie się w dokumencie.. i jak zdjęcie się załaduje to odpala onload.. natomiast w chrome chyba jest tak że zdjecie się załadowałow tedy dopiero dodaje mu sie onload a onload nie opali bo zdj jest już załadowane...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Konsolo coś Ci wyrzuca?
Opóźnienie w przypadku jquery nie powinno mieć miejsca - zapewnia Ci to deklaracja $(document).ready - czyli jeśli dokument zostanie załadowany dopiero do akcji wchodzi jquery |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tylko pewnie obrazki są dynamicznie dodawane więc w momencie ready nie istnieją w DOM. Albo problem z cache http://stackoverflow.com/questions/3877027...image-is-cached
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Obrazki nie łapią się na $(document).ready, bo to zasób wczytywany PO DOM. Tutaj łapie je jedynie load okna.
Poza tym problemy z wczytywaniem obrazków znane są nie od dziś: https://github.com/desandro/imagesloaded -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 4 Dołączył: 16.04.2009 Ostrzeżenie: (10%) ![]() ![]() |
wrzuc gdzies i daj link szybka piłka
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
@qbas-s ale ja nie mówię o znaczniku tylko o obrazku
![]() -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak, znacznik img jest normalnie parsowany i jego [src] jest wrzucane na listę wczytywanych zasobów. faktycznie - zawartość atrybutu src jest w tym przypadku istotna bo jakiś marker ma się tam pojawiać rozwiązaniem mogłoby być ładowanie zawartości do src za pomocą ajax'a - wtedy po wypełnieniu src moglibyśmy dla danego elementu zastosować zapewne trochę zmodyfikowaną funkcję showMarker. Oczywiście może być to jakieś rozwiązanie jeśli nie zależy nam na indeksowaniu tych grafik w google Ten post edytował qbas-s 27.08.2015, 09:49:39 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
a to
$('img').ready() nie złapie załadowania obrazka? |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Nie, bo to łapie wczytanie samego DOM (zdarzenie DOMContentLoaded)
-------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Fakt. Zajrzałem bo pamiętałem że gdzieś to widziałem.
Miałem gdzies u siebie cos takiego: Kod $('img').one('load', function() { console.log('Image Ready'); }); I działało to nawet ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:24 |