1 2 3 4 5 6 | h1 { font-family: font size: etc etc } |
Je kunt hem compressen maar voor de rest maakt het niet zoveel uit.quote:Op vrijdag 6 september 2013 11:59 schreef karton2 het volgende:
Ik heb een .css bestand waarbij ik de 500+ regels zeker ga halen.
Mijn vraag is of aan een lang .css bestand nadelen kleven.
IDs, classes etc. schrijf ik overigens wel regel voor regel op, zoals:
[ code verwijderd ]
Zeker doen op de live omgeving, ook al zijn het een paar kb's die je eraf haalt het is toch mooi meegenomen.quote:Op vrijdag 6 september 2013 12:01 schreef boem-dikkie het volgende:
[..]
Je kunt hem compressen maar voor de rest maakt het niet zoveel uit.
Die paar kb's zullen tegenwoordig het verschil wel maken ja..quote:Op vrijdag 6 september 2013 14:35 schreef Black-Hole het volgende:
[..]
Zeker doen op de live omgeving, ook al zijn het een paar kb's die je eraf haalt het is toch mooi meegenomen.
Performance > all. Als we overal een paar kb's laten liggen terwijl we die wel kunnen besparen...quote:Op vrijdag 6 september 2013 14:46 schreef stefanhaan het volgende:
[..]
Die paar kb's zullen tegenwoordig het verschil wel maken ja..
Leuk en aardig. Maar die paar kb die je bespaart maakt waarschijnlijk echt 0,0 uit qua performance.quote:Op vrijdag 6 september 2013 14:54 schreef Black-Hole het volgende:
[..]
Performance > all. Als we overal een paar kb's laten liggen terwijl we die wel kunnen besparen...
Denk ook aan mobiele gebruikers. Maar wat vooral scheelt is het samenvoegen van meerdere files in 1 enkel bestand. Hoe minder http-requests, hoe sneller de pagina laadt.quote:Op vrijdag 6 september 2013 14:55 schreef stefanhaan het volgende:
[..]
Leuk en aardig. Maar die paar kb die je bespaart maakt waarschijnlijk echt 0,0 uit qua performance.
Zelfs dan bestand van 23kb wat naar 14kb gaat. Dat verschil maakt mobiel ook echt niet uit over 3G.quote:Op vrijdag 6 september 2013 15:06 schreef Tijn het volgende:
[..]
Denk ook aan mobiele gebruikers. Maar wat vooral scheelt is het samenvoegen van meerdere files in 1 enkel bestand. Hoe minder http-requests, hoe sneller de pagina laadt.
dat 3 of 4 keer wel. Hebben bij de mobiele versie fok ook behoorlijk geoptimaliseerd tot op het punt dat de upgrade sneller laadde dan de oude (oranje) versiequote:Op vrijdag 6 september 2013 15:09 schreef stefanhaan het volgende:
[..]
Zelfs dan bestand van 23kb wat naar 14kb gaat. Dat verschil maakt mobiel ook echt niet uit over 3G.
CTRL +F5 in Firefox en in je style.css kijken of je wel het goede plaatje aanroept.quote:Op maandag 9 september 2013 10:09 schreef stoeltafel het volgende:
Zie nu dat ik gelukkig heb logo ook .png heb ontvangen alleen nog steeds een witvlak in Firefox. In Chrome zie ik niks op de achtergrond.
quote:Op maandag 9 september 2013 10:18 schreef xzaz het volgende:
Ik neem aan dat je het logo schaalt? Laat die css classe is zien van .logo (oid?)
1 2 3 4 5 | background: url("../images/logo.png") repeat scroll 0 0 transparent; float: left; height: 86px; position: relative; width: 232px; |
Uhm nee, dat is alleen een vies woord als je het voor andere zaken dan tabulaire data gebruikt. In dit geval moet je gewoon een tabel gebruiken, divjes gebruiken om een tabel te simuleren is net zo smerig als tabellen voor de layout gebruiken.quote:Op maandag 9 september 2013 18:19 schreef karton2 het volgende:
Tabellen passen zich echter niet automatisch aan in hoogte en het is toch een vies woord wat ik her en der lees.
1 2 3 4 5 6 | function doeDit() { if (timer) clearTimeout(timer); timer = setTimeout(function() { doeDat(); }, 350); } |
1 2 3 4 5 6 7 8 9 | function doeDit() { if(typeof bezig === 'undefined') { doeDat(); bezig = true; } setTimeout(function() { delete bezig ; }, 350); } |
Het voordeel is dan toch dat je functie nog wordt aangeroepen nadat de timeout voorbij is?quote:Op maandag 9 september 2013 21:20 schreef Crutch het volgende:
setInterval?
en dan een check in je functie of ie bezig is of niet.
Het voordeel is dat je functie iedere <vul maar in> milliseconden wordt uitgevoerd, totdat jij zegt: "Ja ho, stop maar!"quote:Op maandag 9 september 2013 21:38 schreef pascal08 het volgende:
[..]
Het voordeel is dan toch dat je functie nog wordt aangeroepen nadat de timeout voorbij is?
1 2 3 | if(bezig) break; // vanaf hier alles wat ie moet doen als ie niet bezig is |
Als die functie continu blijft lopen, dan gaat er elke keer een request naar de server, want dat is wat er gebeurt in de functie. Lijkt me niet de bedoeling.quote:Op maandag 9 september 2013 21:58 schreef Crutch het volgende:
[..]
Het voordeel is dat je functie iedere <vul maar in> milliseconden wordt uitgevoerd, totdat jij zegt: "Ja ho, stop maar!"
Dan hoef je in die functie alleen maar te checken of het nodig is om uit te voeren met bijvoorbeeld:
[ code verwijderd ]
Waar is 'bezig' dan voor?quote:Op maandag 9 september 2013 23:23 schreef pascal08 het volgende:
[..]
Als die functie continu blijft lopen, dan gaat er elke keer een request naar de server, want dat is wat er gebeurt in de functie. Lijkt me niet de bedoeling.
Als de functie is aangeroepen wordt die variabele op true gezet. Zodra er weer een call komt, wordt dat stukje code met de if-statement niet uitgevoerd. Na 350ms wordt 'bezig' weer "undefined", zodat de functie opnieuw aangeroepen kan worden.quote:
Nog los van de rest van de oplossing vind ik het undefined maken van een variabele niet de netste manier. Het is gewoon een ja-nee vraag, dus zou je een boolean moeten gebruiken. True voor ja, false voor nee.quote:Op dinsdag 10 september 2013 23:28 schreef pascal08 het volgende:
[..]
Als de functie is aangeroepen wordt die variabele op true gezet. Zodra er weer een call komt, wordt dat stukje code met de if-statement niet uitgevoerd. Na 350ms wordt 'bezig' weer "undefined", zodat de functie opnieuw aangeroepen kan worden.
De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina. Ik zou dus ergens 'bezig' moeten initialiseren met false, dat zou netter zijn, dat ben ik met je eens. Verder is er toch geen verschil?quote:Op dinsdag 10 september 2013 23:40 schreef Light het volgende:
[..]
Nog los van de rest van de oplossing vind ik het undefined maken van een variabele niet de netste manier. Het is gewoon een ja-nee vraag, dus zou je een boolean moeten gebruiken. True voor ja, false voor nee.
Het klinkt alsof je iets heel erg aan het in elkaar hacken bent.quote:Op dinsdag 10 september 2013 23:42 schreef pascal08 het volgende:
[..]
De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina. Ik zou dus ergens 'bezig' moeten initialiseren met false, dat zou netter zijn, dat ben ik met je eens. Verder is er toch geen verschil?
Qua snelheid zal het weinig tot niets schelen idd. Blijft alleen staan dat het netter is, en later ook weer sneller duidelijk. (Je moet het ook snel snappen als je over zes maanden een kleine aanpassing wilt doen.)quote:Op dinsdag 10 september 2013 23:42 schreef pascal08 het volgende:
[..]
De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina. Ik zou dus ergens 'bezig' moeten initialiseren met false, dat zou netter zijn, dat ben ik met je eens. Verder is er toch geen verschil?
Dan begin je toch pas wanneer de pagina wel geladen is?quote:Op dinsdag 10 september 2013 23:42 schreef pascal08 het volgende:
[..]
De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina.
quote:Op dinsdag 10 september 2013 23:50 schreef Scorpie het volgende:
[..]
Het klinkt alsof je iets heel erg aan het in elkaar hacken bent.
6 maanden? Ik weet een uur later al niet meer waarvoor bepaalde regels waren.quote:Op dinsdag 10 september 2013 23:52 schreef Light het volgende:
[..]
Qua snelheid zal het weinig tot niets schelen idd. Blijft alleen staan dat het netter is, en later ook weer sneller duidelijk. (Je moet het ook snel snappen als je over zes maanden een kleine aanpassing wilt doen.)
Ik bedoel dat die variabele 'bezig' nog niet gedefinieerd is als de functie nog niet is aangeroepen. Na het laden van de pagina bijvoorbeeld. Ik zie alleen de noodzaak niet om 'bezig' eerst op false te zetten. Extra regel en geen performance winst. Leesbaarheid vind ik wel prima zo.quote:Op dinsdag 10 september 2013 23:53 schreef Tijn het volgende:
[..]
Dan begin je toch pas wanneer de pagina wel geladen is?
Hoezo een extra regel? Of je nou var bezig; hebt of var bezig = false; maakt toch niet uit?quote:Op woensdag 11 september 2013 00:00 schreef pascal08 het volgende:
[..]
Ik zie alleen de noodzaak niet om 'bezig' eerst op false te zetten. Extra regel en geen performance winst. Leesbaarheid vind ik wel prima zo.
quote:Op woensdag 11 september 2013 00:04 schreef Tijn het volgende:
[..]
Hoezo een extra regel? Of je nou "var bezig;" hebt of "var bezig = false;" maakt toch niet uit?
De reden dat je 'm wel op false wilt initialiseren lijkt me duidelijk: hij is niet bezig. Als je de inhoud van de variabelen van je eigen programma niet kunt vertrouwen, waar kun je dan nog wel van op aan?
1 2 3 4 5 6 7 8 9 | function doeDit() { if(typeof bezig === 'undefined') { doeDat(); bezig = true; } setTimeout(function() { delete bezig ; }, 350); } |
1 2 3 4 5 6 7 8 9 10 | var bezig = false; function doeDit() { if(typeof bezig === 'undefined') { doeDat(); bezig = true; } setTimeout(function() { delete bezig ; }, 350); } |
Over variabele scopes heb ik laatst wel een stuk uit m'n boek gelezen.quote:Op woensdag 11 september 2013 00:08 schreef Tijn het volgende:
Het is echt nasty om je variabelen helemaal niet te declareren. Bovendien maak je op deze manier alles global, dat is ook niet echt aan te raden.
Een functie disablen voor een x aantal milliseconden ná het aanroepen van deze functie.quote:Op woensdag 11 september 2013 00:13 schreef Tijn het volgende:
Wat is nou eigenlijk de bedoeling van dit hele gebeuren?
1 2 3 4 5 6 7 | function foo() { bar(); } function bar() { //Deze functie mag nu de komende x aantal milliseconden niet meer worden uitgevoerd. } |
Dat dus. Lijkt wel alsof hij eigenlijk functie aanroepen moet gaan batchen.quote:Op woensdag 11 september 2013 00:23 schreef Tijn het volgende:
Maar waarom dan? En sowieso, waarom wil je die hele functie uitschakelen? Je kunt toch gewoon binnen bar() een if-statement maken waarin iets al dan niet wordt uitgevoerd?
1 2 3 4 5 6 7 8 9 10 11 12 13 | var allowed = true; function doIt() { if(allowed) { allowed = false; setTimeout(function() { allowed = true; }, 350); // doe hier iets } } |
Dat doe ik toch ook? Alleen die variabele in de if-statement zou eigenlijk een bool moeten zijn.quote:Op woensdag 11 september 2013 00:23 schreef Tijn het volgende:
Maar waarom dan? En sowieso, waarom wil je die hele functie uitschakelen? Je kunt toch gewoon binnen bar() een if-statement maken waarin iets al dan niet wordt uitgevoerd?
Wat is het bezwaar tegen die ongedefinieerde globals dan?quote:Op woensdag 11 september 2013 01:14 schreef Tijn het volgende:
Nou, een bool bestaat niet echt in Javascript, dus dat maakt niet zoveel uitHet is wel logischer om een true/false waarde te geven aan een variabele die als boolean gebruikt wordt, dat wel. Dat je ongedefinieerde globals midden in een functie aanmaakt vond ik persoonlijk kwalijker
kost geheugen en is gewoonweg niet netjes. Scoping is echt belangrijk.quote:Op woensdag 11 september 2013 09:09 schreef pascal08 het volgende:
[..]
Wat is het bezwaar tegen die ongedefinieerde globals dan?
Ik vind het meer nastier dat beide stukjes een totaal andere uitwerking gaan hebben.quote:Op woensdag 11 september 2013 00:08 schreef Tijn het volgende:
Het is echt nasty om je variabelen helemaal niet te declareren. Bovendien maak je op deze manier alles global, dat is ook niet echt aan te raden.
Het levert geen robuust programma op. Je moet code schrijven die je kunt vertrouwen. Als je je variabelen niet onder controle hebt, wordt het ontzettend complex om het overzicht te houden naarmate je programma groeit.quote:Op woensdag 11 september 2013 09:09 schreef pascal08 het volgende:
[..]
Wat is het bezwaar tegen die ongedefinieerde globals dan?
1 | setTimeout(functie, 1000); // merk op dat de haakjes achter de functieaanroep missen |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | function newmess(opt){ var xmlhttp; if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else{ // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if(!opt){ var shout = document.getElementById('shout'); var s = shout.innerHTML.split("_"); var id = s[1]; xmlhttp.open("GET","shout/getshouts.php?id=" + id,true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ var r = xmlhttp.responseText.split("|dvqs|"); var g = 'Laatste bericht: <span style="color:#208AE6;">'; if(r[0] < 60){ g += r[0] + ' seconden</span> geleden.'; }else if(r[0] < 3600){ var g1 = Math.floor(r[0] / 60); var g2 = r[0] - (g1 * 60); g += g1 + ' minuten ' + g2 + ' seconden</span> geleden.'; }else if(r[0] < 86400){ var g1 = Math.floor(r[0] / 3600); var g2 = Math.round((r[0] - (g1 * 3600)) / 60); g += g1 + ' uren ' + g2 + ' minuten</span> geleden.'; }else if(r[0] < 31536000){ var g1 = Math.floor(r[0] / 86400); var g2 = Math.round((r[0] - (g1 * 86400)) / 3600); g += g1 + ' dagen ' + g2 + ' uren</span> geleden.'; }else{ g += 'Meer dan een jaar</span> geleden.'; } document.getElementById('hoelang').innerHTML = g; if(r[1] != ''){ shout.innerHTML = r[1] + shout.innerHTML; } if(srefresh == true){ setTimeout(newmess,1000); } } } }else{ var area = document.getElementById('shouttextarea'); var msg = encodeURIComponent(area.value); xmlhttp.open("GET","shout/getshouts.php?msg=" + msg,true); xmlhttp.send(); xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ if(xmlhttp.responseText == 'ok'){ area.value = ''; } } } } } |
IE cached schijnbaar die response.. dus moet k of een random iets in die url zetten of op de een of andere manier headers toevoegen die zeggen dat er geen cache moet zijn :Squote:Op woensdag 11 september 2013 15:28 schreef KomtTijd... het volgende:
...Kortom de loop werkt gewoon, maar er klopt iets niet in de rest van je functie?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |