Toon posts:

Afbeeldingen die niet zichtbaar zijn niet preloaden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0Henk 'm!

  • GWTommy
  • Registratie: Mei 2008
  • Laatst online: 29-05 09:34
Ik zit met een probleem. Ik heb een website voor een klantje gemaakt die bestaat uit één pagina met jQuery tabs, maar alle tabs zijn gewoon statisch dus worden ze direct geladen, niet via een AJAX request ed. Nu staan er in de twee tabs die niet openen voor +- 10 Mb aan foto's (kan niet kleiner of anders). Die 10 Mb hoeven niet direct geladen te worden, dus is mijn vraag, is er een kleine tweak die er voor zorgt dat afbeeldingen die bij het openen van de pagina niet zichtbaar zijn nog niet te laten laden en alleen bij het selecteren van een jQuery tab die afbeeldingen laden.

Het is gewoon allemaal simpele jQuery tabs, geen fancy moeilijk gedoe. Dus code hier plaatsen heeft niet echt zin.

Ik heb wat lopen zoeken, maar alles wat ik vind is om juist afbeeldingen wél te preloaden. Zelf heb ik een aantal dingen geprobeerd zoals oa zoiets: http://stackoverflow.com/...3/dont-load-hidden-images (eerste antwoord). Maar dat krijg ik niet toegepast (iemand die dat per tab kan laten gebeuren is mij dus slimmer af).

Ik hoop dat jullie mij kunnen helpen, ik heb er vandaag na een lange dag en nu dus nog het nodige gezoek, de moed niet meer voor. Thnx

Acties:
  • 0Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 02-08-2021
10 mb aan images laden lijkt me voor geen enkele site nuttig.

Maak thumbs en laat die zien. Dan kan de gebruiker dmv de thumb doorklikken naar het origineel.

This message was sent on 100% recyclable electrons.


Acties:
  • 0Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 06-06 09:04

MueR

Moderator Devschuur®

is niet lief

Wat dacht je van ze niet in de DOM zetten? Als ze er niet zijn, worden ze ook niet geladen.

Anyone who gets in between me and my morning coffee should be insecure.
Breng nu uw applicatie naar de kloot. Dat is veel beter! Nu samen met klootopslag. Voor maar €9,95. Doei doei!


Acties:
  • 0Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 21:37
Of je gebruikt een lazyloader.

Acties:
  • 0Henk 'm!

  • GWTommy
  • Registratie: Mei 2008
  • Laatst online: 29-05 09:34
Thumbs. Wat een goed idee, daar had ik nog niet aan gedacht. Helaas is het zo lullig om van die kleine afbeeldingen thumbnails te gaan maken. Ja, het zijn er behoorlijk wat ;-)

Dan mag ik lekker met JS iedere afbeelding nog een in de DOM gaan zetten zodra een tab wordt geopend. Dat is te veel coden en dat is niet mijn bedoeling.

Ik ga straks lazyloader eens proberen. Lijkt een goeie te zijn.

Acties:
  • 0Henk 'm!

  • Stouten
  • Registratie: November 2006
  • Laatst online: 08-06-2022
Dat kan ook geautomatiseerd die thumbs. Heb je er een CMS achter hangen?

Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 02:07

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

MueR schreef op dinsdag 17 mei 2011 @ 22:18:
Wat dacht je van ze niet in de DOM zetten? Als ze er niet zijn, worden ze ook niet geladen.
GWTommy schreef op dinsdag 17 mei 2011 @ 22:25:
Dan mag ik lekker met JS iedere afbeelding nog een in de DOM gaan zetten zodra een tab wordt geopend. Dat is te veel coden en dat is niet mijn bedoeling.
Je weet dat computers goed zijn in repetitieve taken :? Als je hier geen stukje code voor kunt schrijven mankeert er iets aan je opzet hoor ;)

[Voor 41% gewijzigd door RobIII op 17-05-2011 22:39]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • GWTommy
  • Registratie: Mei 2008
  • Laatst online: 29-05 09:34
Het zijn allemaal afbeeldingen van kleiner dan 100x100 px die naar iets linken. Dat heeft geen zin om daar thumbs van te maken.
Wat altijd leuk is, je stelt een vraag, krijg je allemaal oplossingen die je juist wilt vermeiden of niet mogelijk zijn, maar blijven ze toch doorgedrukt worden. Geen thumbs.

Het is heel simpel. De afbeeldingen moet pas worden geladen zodra ze echt zichtbaar moeten worden op het scherm.
RobIII schreef op dinsdag 17 mei 2011 @ 22:29:

[...]

Je weet dat computers goed zijn in repetitieve taken :? Als je hier geen stukje code voor kunt schrijven mankeert er iets aan je opzet hoor ;)
+1 voor die
Het is niet mijn opzet, maar ik ben het zelf. Het is welgeteld deze code die de tabs maakt:
JavaScript:
1
$("div#tabs").tabs({fx: {opacity: "toggle", duration: "fast"}});

Ik heb geen zin om dat aan te passen.. ;-)
Bovendien moet ik dan weer iets geinigs vinden om de data van de afbeeldingen toch naar de browser te krijgen..

[Voor 42% gewijzigd door GWTommy op 17-05-2011 22:35]


Acties:
  • 0Henk 'm!

  • Stouten
  • Registratie: November 2006
  • Laatst online: 08-06-2022
Had dan het formaat er gelijk bij vermeld. Nu ging iedereen er vanuit dat het grote foto's waren.

Acties:
  • 0Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Maar dan nog. Je kunt toch gewoon de afbeeldingen even doorlopen en de src leegmaken? Die kun je weer terugzetten met wat slimme scripting als de tab actief is en ze in de viewport komen. Dit is iets dat je veel ziet op lange blogs met veel foto's (kun je ze ook nog mooi infaden enzo).

Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 02:07

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

GWTommy schreef op dinsdag 17 mei 2011 @ 22:33:
Wat altijd leuk is, je stelt een vraag, krijg je allemaal oplossingen die je juist wilt vermeiden of niet mogelijk zijn, maar blijven ze toch doorgedrukt worden. Geen thumbs.
Wat altijd leuk is: mensen die niet compleet of duidelijk zijn in hun topicstart en er maar van uit gaan dat we een glazen bol hebben. Als je het over 10Mb aan images hebt dan is het nogal wiedes dat mensen van "volledige foto's" uitgaan i.p.v. (what must be een enorme shitload aan) thumbnails. Waarom denk je dat we zo hameren op onze Quickstart en op volledige, duidelijke probleemomschrijvingen?

Ja, je zegt "10 Mb aan foto's (kan niet kleiner of anders)". Toch had je ook even kunnen vermelden dat het dus een enorme berg aan 100x100 afbeeldingen is en had je "foto's" ook "thumbnails" (oid) kunnen noemen. "Kan niet zus of zo" horen we hier dagelijks om vervolgens tot de conclusie te komen dat 't volgens de topicstarter niet zus of zo kan maar het wel degelijk een (of dé) oplossing blijkt te zijn alleen wist de topicstarter dan nét even niet hoe of dat het kon.

[Voor 29% gewijzigd door RobIII op 17-05-2011 22:58]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • GWTommy
  • Registratie: Mei 2008
  • Laatst online: 29-05 09:34
Gelijk RobIII
Maar als ik om een oplossing zus vraag (dus niet klakkeloos thumbnail gaan roepen), waarom krijg ik dan altijd een 'oplossing' zo (thumbnail maken en je probleem is over). Als de mensen die hebben gereageerd (zo aardig waren te reageren) gewoon mijn vraag hadden beantwoord, dan is het toch niet nodig dat ik verder alle oplossing die ik niet wil horen uit ga sluiten in mijn TS. Jammer dat dat niet kan. De volgende keer dat ik een topic start zal ik een lijst gaan aanleggen van dingen die ik niet wil, scheelt weer reacties die ik moet gaan weerleggen zodat er misschien meteen een oplossing wordt aangedragen die het gevraagde (wat nu ook al duidelijk in mijn TS staat) beantwoordt.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Met veel posters gaan mensen hier hetzelfde om als met klanten. Zo zijn ze dat nu eenmaal gewend.

Daarom hebben we ook veel liever dat mensen hun probleem beschrijven, ipv hun beoogde oplossing. Die oplossing is namelijk al iets uit hun koker en vaak helemaal niet de beste mogelijkheid om het daadwerkelijke probleem op te lossen. Veel van de professionals hier zijn dus juist getraind dat soort aangedragen oplossingen te negeren en zich te focussen op het probleem, hoe schaars beschreven ook.

Dat kan voor posters wel irritant zijn, om daarop gewezen te worden, maar je kunt het ook accepteren als goede input, of te weinig informatie over het probleem van jouw kant. Met name dat laatste wordt nog wel eens over het hoofd gezien, met een hoop onnodige aannames en zinloze discussies tot gevolg.

[Voor 7% gewijzigd door Bosmonster op 18-05-2011 08:57]


  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 30-03 14:15

OkkE

CSS influencer :+

GWTommy schreef op woensdag 18 mei 2011 @ 08:07:
[...] Als de mensen die hebben gereageerd (zo aardig waren te reageren) gewoon mijn vraag hadden beantwoord, dan is het toch niet nodig dat ik verder alle oplossing die ik niet wil horen uit ga sluiten in mijn TS. [...]
Je hebt een probleem en wil daar een oplossing voor, prima. Het gebeurd alleen maar al te vaak, hier op GoT maar ook met klanten, dat het probleem is ontstaan door een verkeerd gekozen techniek bijvoorbeeld.

Het is dus slim om volgende keer niet een hele lijst te posten met wat je niet wil, maar uitgebreid je probleem uitleggen en vooral uitleggen waarom jij denkt dat de overige oplossingen (zoals thumbs) niet kunnen. :)


Over je probleem.

Uit je posts maak ik op dat het verplicht stellen van Javascript geen probleem is? In dat geval kun je redelijk eenvoudig je DOM leeg laten en pas onClick een deel van de images inladen met AJAX. Laten we zeggen de eerste 60. Dan met een script zoals bijv. Twitter gebruikt, kun je onPageScroll de volgende X images inladen.

Maar over hoeveel images praten we per tab? Want een image van 100x100 pixels kan je echt wel klein opslaan (5kb ofzo); dat betekend 2'000 items... Misschien is de gekozen oplossing (images linken naar iets) toch niet het beste in dit geval, en kun je beter tekst links gebruiken?
Bosmonster schreef op woensdag 18 mei 2011 @ 09:13:
Dit kun je ook nog middels progressive enhancement bereiken overigens, door ondocumentready de src leeg te maken van images en even in de data (in het geval van jQuery) of ander attribuut op te slaan.
Daar had ik even niet aan gedacht, inderdaad ook een nette oplossing.

[Voor 23% gewijzigd door OkkE op 18-05-2011 09:18]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Uit je posts maak ik op dat het verplicht stellen van Javascript geen probleem is? In dat geval kun je redelijk eenvoudig je DOM leeg laten en pas onClick een deel van de images inladen met AJAX
Dit kun je ook nog middels progressive enhancement bereiken overigens, door ondocumentready de src leeg te maken van images en even in de data (in het geval van jQuery) of ander attribuut op te slaan.

  • Tim_R
  • Registratie: Oktober 2004
  • Laatst online: 02-06 12:14
Je kan natuurlijk ook de inhoud van je tabs laden met AJAX zodat je een mooie loadinganimatie kan tonen tot het volledige laden klaar is. Is dat niet nog mooier?

Edit: Zei Okke vanochtend al. Excuses :D

[Voor 12% gewijzigd door Tim_R op 18-05-2011 11:48]


Acties:
  • 0Henk 'm!

  • GWTommy
  • Registratie: Mei 2008
  • Laatst online: 29-05 09:34
Ik ben vannacht toch maar even niet-lui geweest en ik heb het goed gedaan. Nu worden de afbeeldingen pas in de DOM gezet zodra een tab wordt geklikt. Is toch wel het netst.

Thnx voor de reacties.

Acties:
  • 0Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
GWTommy schreef op vrijdag 20 mei 2011 @ 10:38:
Ik ben vannacht toch maar even niet-lui geweest en ik heb het goed gedaan. Nu worden de afbeeldingen pas in de DOM gezet zodra een tab wordt geklikt. Is toch wel het netst.

Thnx voor de reacties.
Is het niet, aangezien het nu niet meer werkt zonder javascript (en dus ook niet voor zoekmachines). Het is de minst nette oplossing van de aangedragen mogelijkheden.

Acties:
  • 0Henk 'm!

  • GWTommy
  • Registratie: Mei 2008
  • Laatst online: 29-05 09:34
Bosmonster schreef op vrijdag 20 mei 2011 @ 14:15:
[...]


Is het niet, aangezien het nu niet meer werkt zonder javascript (en dus ook niet voor zoekmachines). Het is de minst nette oplossing van de aangedragen mogelijkheden.
Ten eerste werkt de hele site niet zonder JS.
Ten tweede is het niet van belang dat de site wordt gevonden door zoekmachines.
Het is dus de netste oplossing in mijn geval omdat het doet wat het moet, de afbeeldingen pas laden zodra ze zichtbaar moeten worden.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee