site laad plaatjes niet altijd in

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis WhoCares

Dennis WhoCares

11/04/2016 16:07:12
Quote Anchor link
Hi all,

ik weet niet of ik hier goed zit, maar ik heb nogal een raar probleem.

Soms laadt de site mijn plaatjes niet in.

Ik doe bijv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="/ticket/view/723"><img src="#" alt="" style="background-image: url('/public/uploads/<?php echo $tTicket['media_thumbnail']; ?>x90.png'); background-repeat: no-repeat; background-position: center"></a>


De design is door iemand anders gemaakt en maakt gebruik van fancybox bootstrap nivo.slider enz.

De reden voor de style er apart in te zetten, is omdat de formaat van de daadwerkelijke container geen 90x90 is, maar ook dynamisch en de plaatjes niet in de juiste schaal geladen wordt.

Als ik nou in FF mijn webconsole open, dan laadt ie alles altijd in.
Maar sluit ik nou de webconsole, en ik refresh, dan zijn gelijk de plaatjes verdwenen en na 4 keer refreshen, dan staan ze er weer.

Ik heb caching al uit gezet, om te kijken of het daar aan lag
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">


Maar alsnog doet het zo vreemd.
Met webconsole aan zie ik dat alle plaatjes als laatst ingeladen wordt

Ik zal alles herschrijven om de image in de src te plaatsen en de width en height in de css 'static' te maken

Heeft iemand enig idee hoe dit kan gebeuren ?
Gewijzigd op 11/04/2016 16:09:59 door Dennis WhoCares
 
PHP hulp

PHP hulp

18/12/2024 22:27:19
 
Thomas van den Heuvel

Thomas van den Heuvel

11/04/2016 17:04:50
Quote Anchor link
Indien je allerlei manipulaties doet middels jQuery (?) zou je eens kunnen proberen om $().load(function() { ... }); te gebruiken in plaats van $().ready(function() { ... }).

.load wordt pas getriggerd als alle frames, objecten en afbeeldingen zijn ingeladen.
.ready wordt getriggerd als (enkel) het HTML document is geladen en de DOM is gebouwd.

Dat zou misschien verklaren waarom jouw code "soms" werkt. Misschien wacht je console op het .ready event, of heeft deze zelf een kleine timeout ingebouwd, of is gewoon traag genoeg :s.
 
Dennis WhoCares

Dennis WhoCares

11/04/2016 17:56:54
Quote Anchor link
Hi Thomas,

bedankt voor je reactie!
Ik neem aan dat ik dit niet in de classes meanmenu,bootstrap etc hoef te doen
Maar is $(document).ready(function() { });
dan niet zelfde?

Trouwens, al deze scripts betredt menus sliders etc worden pas in de footer geinclude
Maar anyways zou t geen reden moet zijn dat mijn normale html statements met handmatig nog eens een style"" erin niet werkt, toch?
 
Thomas van den Heuvel

Thomas van den Heuvel

11/04/2016 21:13:33
Quote Anchor link
Quote:
Maar is $(document).ready(function() { }); dan niet zelfde?

Nee, het verschil staat hierboven beschreven.

Quote:
Trouwens, al deze scripts betredt menus sliders etc worden pas in de footer geinclude

Ik zie niet hoe dit uitmaakt, waarschijnlijk zal deze functionaliteit nog steeds moeten wachten totdat de afbeeldingen ook daadwerkelijk binnen zijn.

Quote:
Maar anyways zou t geen reden moet zijn dat mijn normale html statements met handmatig nog eens een style"" erin niet werkt, toch?

Misschien niet, als het inderdaad allemaal "platte HTML en CSS" is zou dit niet hoeven. Maak je toevallig gebruik van SEO-vriendelijke URLs (als ik je snippet hierboven zie staan wss wel :))? Je zou eens kunnen kijken of het uitmaakt of het toevoegen van een <base> tag iets uitmaakt (indien je relatieve verwijzingen naar afbeeldingen wilt blijven gebruiken) en anders kan het helpen als je overstapt naar volledige (absolute) URLs. Had je al een <base> tag in je HTML document zitten?
Gewijzigd op 11/04/2016 21:14:13 door Thomas van den Heuvel
 
Dennis WhoCares

Dennis WhoCares

11/04/2016 21:35:09
Quote Anchor link
Hi Thomas,

nogmaals bedankt voor je reactie. Ondertussen heb ik zitten spelen met m'n media thumbnail generator.
Begon het een beetje zat te worden, overal telkens een container omheen enz. om een thumbnail in een vierkant te centreren.

Hierna heb ik dus ook alles ongedaan gemaakt, en gewoonweg de src attribute gebruikt.
Nou werkt het naar behoren.

Thomas van den Heuvel op 11/04/2016 21:13:33:
Quote:
Maar is $(document).ready(function() { }); dan niet zelfde?

Nee, het verschil staat hierboven beschreven.

Mijn excuses voor deze opmerking

Thomas van den Heuvel op 11/04/2016 21:13:33:
Quote:
Trouwens, al deze scripts betredt menus sliders etc worden pas in de footer geinclude

Ik zie niet hoe dit uitmaakt, waarschijnlijk zal deze functionaliteit nog steeds moeten wachten totdat de afbeeldingen ook daadwerkelijk binnen zijn.

Alle sliders enz. werkten gewoon naar behoren, alleen de plaatjes laadde niet in.

Thomas van den Heuvel op 11/04/2016 21:13:33:
Quote:
Maar anyways zou t geen reden moet zijn dat mijn normale html statements met handmatig nog eens een style"" erin niet werkt, toch?

Misschien niet, als het inderdaad allemaal "platte HTML en CSS" is zou dit niet hoeven. Maak je toevallig gebruik van SEO-vriendelijke URLs (als ik je snippet hierboven zie staan wss wel :))? Je zou eens kunnen kijken of het uitmaakt of het toevoegen van een <base> tag iets uitmaakt (indien je relatieve verwijzingen naar afbeeldingen wilt blijven gebruiken) en anders kan het helpen als je overstapt naar volledige (absolute) URLs. Had je al een <base> tag in je HTML document zitten?

Ik maak idd gebuik van 'seo-vriendelijke urls' in mijn mvc.
Ben vergeten te vermelden dat ik tPath define en deze dus overal voor plak. Dmv de basetag heb ik een absolute path voor de link's. Hier lag het probleem niet

De base tag zal dit oplossen, en kan ik deze tPath laten vervallen!
Dat zal weer een paar bytes schelen ;D Thanks

Helaas ben ik er niet achter waarom m'n plaatjes niet laade zoals verwacht
M'n header bevat de volgende js
modernizr-2.6.2.min.js
jquery-confirm.min.js

M'n footer
jqueryui.js
jquery.meanmenu.js
jquery.fancybox.js
jquery.elevatezoom.js
bootstrap.min.js
owl.carousel.min.js
jquery.nivo.slider.pack.js
jquery.counterup.min.js

Dit zijn allemaal libraries, en zijn onaangepast
Heb 1 custom js, maar die is alleen bedoeld voor click en post events

Het probleem was ook al met 1 plaatje, van 4kb :) ik snap er niks van
maar met alle aanpassingen ondertussen gebruik ik gewoon normaal de img object zoals het hoort :P EN op localhost..

Weet niet of nog iemand anders soort gelijk probleem herkent, maar was vrij frustrerend.
 
Thomas van den Heuvel

Thomas van den Heuvel

11/04/2016 23:34:15
Quote Anchor link
Kijk eens in je developer console (onder de functietoets F12, en dan een netwerk tab, kan zijn dat je de pagina nogmaals moet laden) welke GET requests er worden uitgevoerd en of het een probleem is met het pad wat wordt opgevraagd, of dat er iets in de afhandeling/routing misgaat.
 
Dennis WhoCares

Dennis WhoCares

12/04/2016 06:47:54
Quote Anchor link
Hi Thomas,

ik weet niet of we nog verder moeten gaan op dit onderwerp.
Maar als ik de console open heb, dan werkt alles naar behoren vreemd genoeg...
Misschien omdat het de site enigsinds vertraagd?

Heb iig de datum in n todo note gezet zodat ik wanneer ik tijd heb mn timemachine kan gebruiken om hier verder op in te gaan.

Het path dat ik gebruik in de style attribute is geen related path.

De laatste meldingen in de console zijn alle GET's van m'n thumbnails.
P.s. de thumbnails zijn vaste plaatjes die verkleind zijn. Er is geen script dat de thumbnail nog genereerd of cached oid

Misschien kom ik hier nog eens op terug, indien iemand weet wat t probleem is, wees vrij om gedachten te delen.

gr.
Dennis
 
Randy vsf

Randy vsf

12/04/2016 09:40:08
Quote Anchor link
Dennis,

Met welke browser test je? Ik weet dat internet explorer enorme problemen kan geven als je console functies gebruikt en de console gesloten hebt. Bij ons is het momenteel zo dat de back office momenteel niet werkt binnen internet explorer hierdoor. Zodra de console geopend is werkt de site naar behoren..
 
Dennis WhoCares

Dennis WhoCares

12/04/2016 10:21:44
Quote Anchor link
Hi Randy,

ik test altijd op Internet Explorer, chrome en firefox
Windows en Mac

zodra de console open staat deed ie wel de plaatjes inladen
daar waar ik dit deed
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="#" alt="" style="background-image: url('<?php echo $ticket['media_path']; ?>'); background-position: .......


zonder console moest ik 3-4 keer refreshen en dan laat ie het 2 keer goed zien, en daarna waren ze weer leeg
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.