Go Back   Shrimp Refuge Forums > Burgermannen > Hardware & Software > Design & Development

Reply
 
Thread Tools
Old 11-09-2012, 07:56   #1   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
IE rendert pagina compleet wit

Heeft er iemand al eens het probleem gehad waarbij IE een pagina compleet wit rendeert (alle UI elementen staan er wel en zijn klikbaar maar tonen niet)? Het vreemde is dat dit probleem zich bijna altijd voordoet wanneer je de pagina voor de eerste keer bezoekt, misschien ook de opvolgende keer, maar eens deze correct gerendert is geweest, blijft het consequent in orde.

http://hwbot.org

Eender welke pagina lijkt dit probleem te hebben.

Wat een kut browser. Getest in IE8, naar het schijnt met meerdere IE's een probleem. Iemand nuffige fips?
richba5tard is offline   Reply With Quote
Old 11-09-2012, 08:35   #2   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
Fout ligt blijkbaar aan modernizr, een bibliotheek dat HTML5/CSS3 features compatibiliteit geeft aan IE. Als ik de "no-js" class weg laat waar modernizr op scant, werkt het prima.
richba5tard is offline   Reply With Quote
Old 11-09-2012, 12:25   #3   link
SkY
Senior Member
 
SkY's Avatar
 
Een document.write in een ajax call kan er wel voor zorgen dat er een witte pagina wordt getoond op het moment dat de document.write wordt uitgevoerd. Bijvoorbeeld van een advertentie. Wat er ook kan voor zorgen dat het probleem hem niet altijd voordoet (niet elke reload dezelfde advertentie bijvoorbeeld).
SkY is offline   Reply With Quote
Old 11-09-2012, 18:21   #4   link
Pleun
blorp
 
Pleun's Avatar
 
Location: Broekzele
Send a message via ICQ to Pleun
Quote:
Originally Posted by richba5tard View Post
Fout ligt blijkbaar aan modernizr, een bibliotheek dat HTML5/CSS3 features compatibiliteit geeft aan IE. Als ik de "no-js" class weg laat waar modernizr op scant, werkt het prima.
dan zal er toch wel iets anders aan de hoofdoorzaak liggen, zal straks of morgen eens kijken of ik iets speciaals zie. Kan zelfs iets simpels zijn als een element dat slecht of niet afgesloten is op een nogal ongelukkige positie. Niet meteen de makkelijkste fouten om eruit te halen.

edit: euh, je hebt de buggy pagina soms niet ergens gemirrored staan? (met de js includes er bij liefst)

edit²: throwt trouwens een shitload aan errors in IE7. Kzeggetmaar.

edit³: meeste lijken voort te komen uit één of andere imgur embed.

edit4: van deze post meer bepaald. Die gallery werkt voor geen meter.


Modernizr verzorgt trouwens geen compatibiliteit, behalve dan voor het herkennen van html5 elementen via de shiv. Doet eigenlijk voornamelijk aan (html5) feature detectie en zal er wel inzitten voor een reden. Toch eens checken met de dev vooraleer je het er uit kiepert. Veel kans dat eventuele polyfills nu niet correct worden geinitalizeerd.

Last edited by Pleun; 11-09-2012 at 18:41.
Pleun is offline   Reply With Quote
Old 12-09-2012, 08:01   #5   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
Hmm, ik had als test de classes verwijderd van het root element <html class="no-js ie8">, wat het probleem lijkt op te lossen. Ik dacht eerst dat de fout er kwam door de "no-js" class (waarop modernizer checked), maar het lijkt door de ie8 class te zijn. Als ik enkel deze weg haal lijkt ook alles prima te gaan, op een paar css stijlfoutjes na die .ie8 net oploste.

Die ie8 komt enkel in css voor, en de css ervoor lijkt me redelijk harmless... maar het heeft toch tot gevolg dat:
- pagina bijna altijd wit rendert op eerste bezoek
- scrollen van eender welke pagina meestal tot gevolg heeft dat alles uitgesmeerd wordt, en kompleet onleesbaar is.

Code:
		
	.ie8 select[name="lang"],
	.ie8 select[name="lang"] option{
		padding:2px;	
		margin:0;}
		
		select[name="lang"] option{
			color:#206681;			
			margin:5px;}


	.ie8 #user-score,.ie7 #user-score{
		width:100%;}
		
	.ie8 figure.id img, .ie7 figure.id img{
		display:none;}
		
	.ie8 #user-score h3, .ie7 #user-score h3{
		min-width:600px;}		

.ie8 #profile #userinfo ul li a{
	display:inline-block;}
	

.ie8 select{
	padding:0;}
	
.ie8 table {
	border-collapse: inherit;
	border:solid 1px #abb1b4;}

Op productie heb ik dit vervangen door:
Code:
...
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]>    <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]>    <html lang="en class="no-js ie"> <![endif]-->
<!--[if IE 9 ]>    <html lang="en" class="no-js ie"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html lang="en" class="no-js">
<!--<![endif]-->
...
Code:
.ie table {
	border:solid 1px #abb1b4;}
Over js fouten: het aantal zelf geschreven scripts is laag, maar wel redelijk wat externe libraries. Weinig zin om daar in te gaan troubleshooten.
richba5tard is offline   Reply With Quote
Old 12-09-2012, 08:29   #6   link
Pleun
blorp
 
Pleun's Avatar
 
Location: Broekzele
Send a message via ICQ to Pleun
Vreemd, daar zit niets tussen dat zoiets als gevolg zou kunnen hebben. Nog vreemder is dat het zich voordoet in 8 en niet in 7.


Je zou ze eens moeten terugzetten en de .ie8 styles tijdelijk/1 voor 1 weghalen. Of zien of er ergens een script achter die class zoekt, ik zou eerder in die richting denken.
Pleun is offline   Reply With Quote
Old 12-09-2012, 08:36   #7   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
Jup, maar er is te weinig tijd om dit verder te onderzoeken. Nog een fuckload aan werk op te leveren tegen volgende week. : /
richba5tard is offline   Reply With Quote
Old 12-09-2012, 08:52   #8   link
Random
Shrimp Recidivist
 
Random's Avatar
 
Location: Gent
Gezien het enkel de eerste pageload foutloopt, zou ik ook denken in de richting van caching, cookies, en in het algemeen concurrency issues. Het lijkt me de moeite waard eens te controleren of de fout opnieuw optreedt na het legen van de cache & cookies.

Mogelijk scenario is dat die ie8-klasse tot gevolg heeft dat er een css of js file geladen wordt (dus vanuit modernizr), en dat er een issue optreedt wanneer het inladen te lang duurt (nog niet in de cache zit + trage verbinding heeft). De probleemfile expliciet includen of de volgorde van de bestaande includes wijzigen kan zoiets oplossen.

De requests bekijken in de debugger kan je soms al een clue geven, dan moet je de scripts niet noodzakelijk doorploegen. Let op files die specifiek voor IE zijn, ihb IE8.
__________________
This baby knows what I'm talking about.
Random is offline   Reply With Quote
Old 12-09-2012, 09:11   #9   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
De fout treedt altijd voor na legen cache&cookies, en zelden tot nooit indien css reeds in cache zit.

Er zijn twee fouten:
- pagina rendert wit (altijd indien niet gecached)
- scrollen pagina meestal onmogelijk (onafhankelijk van cache, niet altijd wel heel vaak)

Beide fouten zijn miraculeus weg indien ik de ie8 en ie9 class verwijder uit het html root element, ook al ziet de css ervoor onschuldig uit. In javascript vind ik geen referencies naar ie8/9
richba5tard is offline   Reply With Quote
Old 12-09-2012, 09:12   #10   link
Pleun
blorp
 
Pleun's Avatar
 
Location: Broekzele
Send a message via ICQ to Pleun
De .ie8 class komt van html5 bootstrap en wordt normaal gezien enkel maar gebruikt voor enkele css tweaks, en heeft bijgevolg niks van invloed op modernizr of gelijk welke gangbare JS library. Tenzij ze zelf wat custom code gemaakt hebben die erop inhaakt maar ik heb snel eens gekeken en zie in ieder geval niks.
Pleun is offline   Reply With Quote
Old 12-09-2012, 09:19   #11   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
Ik heb ook geen referentie gevonden naar .ie8 buiten dan die enkele css tweaks. Best wel lastig dat IE zo slecht te debuggen valt. Of ie7 hetzelfde probleem heeft weet ik niet, geen ie7 test machine voor handen nu. IE9 had hetzelfde probleem.
richba5tard is offline   Reply With Quote
Old 12-09-2012, 09:21   #12   link
Random
Shrimp Recidivist
 
Random's Avatar
 
Location: Gent
Kan het zijn dat er name clashing optreedt? ie8 is nu niet de meest creatieve naam. Misschien is het probleem op te lossen door de klasse te hernoemen?
__________________
This baby knows what I'm talking about.
Random is offline   Reply With Quote
Old 12-09-2012, 09:25   #13   link
richba5tard
Senior Member
 
richba5tard's Avatar
 
Zou kunnen, ik heb nu een extra klasse "ie" aangemaakt en deze gebruik bij IE8/9, waar enkel de meest cruciale css staat voor IE8/9. Dat blijkt prima te werken. Behalve als iemand de root cause vindt ga ik het hierbij laten.
richba5tard is offline   Reply With Quote
Old 12-09-2012, 09:41   #14   link
Random
Shrimp Recidivist
 
Random's Avatar
 
Location: Gent
Team Shrimp delivers.
__________________
This baby knows what I'm talking about.
Random is offline   Reply With Quote
Old 15-09-2012, 12:40   #15   link
Wolf
Oh no
 
Wolf's Avatar
 
een syntax error in je CSS kan ervoor zorgen dat de hele rendering in IE stopt.

Best eens CSS door de validator halen.
__________________
If we must never take any chances, we should have nothing at all, for nothing is certain. —Blaise Pascal
Wolf is offline   Reply With Quote
Reply

  Shrimp Refuge Forums > Burgermannen > Hardware & Software > Design & Development

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 15:06.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.