abonnement Unibet Coolblue Bitvavo
  woensdag 11 september 2013 @ 01:14:56 #276
12221 Tijn
Powered by MS Paint
pi_131048963
Nou, een bool bestaat niet echt in Javascript, dus dat maakt niet zoveel uit :P Het 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 :+
pi_131050882
quote:
2s.gif Op woensdag 11 september 2013 01:14 schreef Tijn het volgende:
Nou, een bool bestaat niet echt in Javascript, dus dat maakt niet zoveel uit :P Het 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 :+
Wat is het bezwaar tegen die ongedefinieerde globals dan?
  woensdag 11 september 2013 @ 09:24:36 #278
56176 Catch22-
Ben je Blind?!
pi_131051148
quote:
1s.gif Op woensdag 11 september 2013 09:09 schreef pascal08 het volgende:

[..]

Wat is het bezwaar tegen die ongedefinieerde globals dan?
kost geheugen en is gewoonweg niet netjes. Scoping is echt belangrijk.
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_131051477
quote:
9s.gif 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.
Ik vind het meer nastier dat beide stukjes een totaal andere uitwerking gaan hebben.
  woensdag 11 september 2013 @ 10:51:57 #280
12221 Tijn
Powered by MS Paint
pi_131053054
quote:
1s.gif Op woensdag 11 september 2013 09:09 schreef pascal08 het volgende:

[..]

Wat is het bezwaar tegen die ongedefinieerde globals dan?
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.
pi_131056758
Ik moet in principe een oneindige loop hebben.. maar settimeout heb ik problemen mee in IE

Eerst had ik setTimeout(functie(), 1000); dat is niet goed, maar in chrome en FF enzo refreshte ie gewoon alleen niet met die seconde, wat geen probleem was, maar IE liep vast zodra die functie werd ingeschakeld..

Nu heb ik er setTimeout(function(){functie();}, 1000); van gemaakt.. nu werkt ie in chrome, FF etc. wel met timeout en in IE loopt ie niet meer vast, maar hij refresht ook niet.. oftewel die functie functie() word niet uitgevoerd. Wat doe ik verkeerd?
pi_131056839
...watvoor foutmelding geeft IE?
pi_131056866
overigens kun je als je geen variables mee hoeft te sturen ook shorthand gebruiken:

1setTimeout(functie, 1000); // merk op dat de haakjes achter de functieaanroep missen
pi_131056938
Hij geeft geen foutmelding meer hij voert die functie alleen niet uit.. (heb nu die shorthand in gebruik zoals je aangaf)
  woensdag 11 september 2013 @ 13:30:07 #285
91039 mstx
2x1/2 = 1/2 x 1/2
pi_131056992
Dan zit er een fout in die functie.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_131057007
Geef die 'functie' eens een andere naam, mogelijk een protected name.
pi_131057012
Het is dezelfde functie als die ie daarvoor uitvoert.. die settimeout staat onderaan die functie.
pi_131057024
@darkomen.. de functie heet newmess.. kneem aan dat dat geen protected name is.
pi_131057055
Nee dat klinkt niet als een protected name.

http://www.quackit.com/javascript/javascript_reserved_words.cfm
pi_131057244
vreemd.. het ligt schijnbaar wel aan de functie.. want als ik de loop uit zet geeft ie wel een alert die ik voor de test in heb gesteld voor als ie ermee moet stoppen.. kkijk eerst ff zelf verder.
pi_131057269
Je stopt wss nooit de settimeout. Of je roept hem recursief aan.
pi_131057312
Post eens een stukje code waarin we mee kunnen kijken?
pi_131057631
lol als ik dat doe zullen er wel meer amateuristische praktijken bespeurd worden maarja.. hier is ie

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 = '';
        }
      }
    }
  }
}


[ Bericht 2% gewijzigd door Skunk-m op 11-09-2013 13:56:46 ]
pi_131059318
...waar defineer je srefresh? (doe voor de gein eens een console.log(srefresh) voor de if)

...en lijkt het je niet makkelijker om gewoon in JSON te praten, ipv een custom serialisatie met |dvqs| ?

Tevens: Nooit overwogen jQuery te gebruiken?
pi_131059404
^ Wat hij zegt. Verder zie ik niet veel rare dingen hoor, maar ik zou inderdaad even wat console.logs ertussen zetten om te zien waar het mis gaat.
pi_131059835
weet niet hoe dat werkt dat JSON.. en jquery dan snap ik er helemaal niks meer van.

Maar IE zou dit toch gewoon goed moeten doen?

heb console.log gedaan en hij blijft doorloopen en geeft true aan.. en als ik em uitzet geeft ie false en stopt ie zoals het hoort.

Maar als ie de eerste keer ingeschakeld word en ik post in chrome even iets dat er iets nieuws bij is gekomen dan komt die nieuwe er niet bij er komt alleen een tijd te staan van hoelang geleden, maar die ververst ook niet.

Als ik de loop weer inschakel nadat ik em uitgeschakeld heb veranderd ie ook niks ook niet de tijd..
pi_131060210
Om de een of andere reden heb ik het idee dat het met cache te maken heeft...

Als ik de pagina refresh de loop staat dan gewoon uit is nog niet aangeweest en ik typ wat in chrome en plaats dat en dan start ik de loop dan is de tijd die tevoorschijn komt iig niet van die post..
Als ik dan de pagina weer refresh en de loop aanzet dan is die tijd hetzelfde als dat chrome op dat moment aangeeft, behalve dan dat ie bij chrome doorloopt..
als ik dan weer de pagina refresh en de loop aan zet dan is de tijd nog hetzelfde als dat ie daarvoor aangaf en dus niet waar ie bij chrome is gebleven.
pi_131060457
...Kortom de loop werkt gewoon, maar er klopt iets niet in de rest van je functie?
pi_131060544
quote:
14s.gif 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?
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 :S
  woensdag 11 september 2013 @ 15:34:27 #300
56176 Catch22-
Ben je Blind?!
pi_131060671
ik pleur er vrijwel _altijd_ een anti-cache parameter bij in
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')