JS: 'undefined' is leeg of geen object IE foutmelding #2

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Fok83
  • Registratie: Juni 2003
  • Laatst online: 02-08 21:08
Aangezien m'n 1ste topic direct werd gesloten (was na jaren van afwezigheid even vergeten hoe streng de Notorious GoT Mods zijn :D), een 2de poging. Hopelijk blijft dit topic wel open, want de dev van het script is niet bijster snel. Daarom hoop ik hier wat hulp te kunnen krijgen.

Het betreft JavaScript uit de WordPress stats plugin. IE geeft een "'undefined' is leeg of geen object" JavaScript foutmelding. Het volledige stuk code staat hier: JS: 'undefined' is leeg of geen object IE foutmelding

Maar dit is de debug versie:

JavaScript:
1
if ( typeof addLoadEvent != 'undefined' ) {addLoadEvent(load_cmc);}


addLoadEvent != 'undefined' zorgt voor die foutmelding. Maar hoe is dit op te lossen? Ik heb al verschillende mogelijkheden onder ogen gehad, maar m'n JS kennis is te beperkt om zelf maar wat te doen. Ik heb liever dat iemand met meer kennis van JS het even checkt.

Zou dit een goede oplossing zijn (dat de foutmelding weg is maar het script wel nog 100% werkt):

JavaScript:
1
if ( !addLoadEvent ) {addLoadEvent(load_cmc);}


Bovenstaande geeft in ieder geval niet 'undefined' als waarde mee. Maar ik weet niet zeker of het script dezelfde werking heeft op deze manier.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dan test je het om te zien of het nog steeds werkt? Dat is toch niet zoveel moeite?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Fok83
  • Registratie: Juni 2003
  • Laatst online: 02-08 21:08
Testen is geen punt :) Probleem is dat ik niet precies weet wat addLoadEvent doet. Omdat ik daarom niet weet waar ik moet kijken, kan ik niet achterhalen of het zijn werking heeft behouden tijdens testen. Niet dat het 'if' statement, dadelijk permanent het veld moet ruimen voor het 'else' statement.

Iemand met meer JS kennis, weet waarschijnlijk of !addLoadEvent in feite hetzelfde doet als typeof addLoadEvent != 'undefined' Als dat zo is, dan kan ik er iig vanuit gaan dat het script gewoon zijn normale werking blijft behouden.

Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 19-09 11:12
Fok83 schreef op zaterdag 23 april 2011 @ 18:42:
Testen is geen punt :) Probleem is dat ik niet precies weet wat addLoadEvent doet. Omdat ik daarom niet weet waar ik moet kijken, kan ik niet achterhalen of het zijn werking heeft behouden tijdens testen. Niet dat het 'if' statement, dadelijk permanent het veld moet ruimen voor het 'else' statement.

Iemand met meer JS kennis, weet waarschijnlijk of !addLoadEvent in feite hetzelfde doet als typeof addLoadEvent != 'undefined' Als dat zo is, dan kan ik er iig vanuit gaan dat het script gewoon zijn normale werking blijft behouden.
Het probleem is dat je niet goed zoekt, zo kom je ook niets te weten. Een klein voorbeeld: Google - addLoadEvent en meteen het 5e resultaat. Daar staat precies bij wat de functie doet.
Function Reference/addLoadEvent « WordPress Codex

For theme and plugin development: in order to have a Javascript function executed in the admin areas on load, or when the document is ready, use the following:
Welke versie van Internet Explorer gaat het over en heb je het al eens in Firefox / Chrome i.c.m. Firebug getest?


Heb je anders een soort test-case voor ons?

[ Voor 8% gewijzigd door Manuel op 23-04-2011 19:05 . Reden: foutje aan mijn kant :) ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Fok83 schreef op zaterdag 23 april 2011 @ 18:42:
Testen is geen punt :) Probleem is dat ik niet precies weet wat addLoadEvent doet. Omdat ik daarom niet weet waar ik moet kijken, kan ik niet achterhalen of het zijn werking heeft behouden tijdens testen. Niet dat het 'if' statement, dadelijk permanent het veld moet ruimen voor het 'else' statement.
Je hoeft toch alleen maar te testen of je site nog gewoon net zo werkt als voor je wijziging? :?

Ik bedoel: ik kan het ook gewoon voor je voorkauwen en zeggen dat het inderdaad je probleem op zou moeten lossen als je de tweede notatie gebruikt, maar daar kom je zelf toch ook gewoon achter door te testen?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Fok83
  • Registratie: Juni 2003
  • Laatst online: 02-08 21:08
Dankzij dit artikel ben ik de MS Script Debugger maar eens gaan downloaden en nu blijkt de error door een compleet ander script te worden veroorzaakt 8)7

Toch bedankt voor het meedenken!

Acties:
  • 0 Henk 'm!

  • martin149
  • Registratie: Augustus 2009
  • Laatst online: 10-09 08:19
Ewn tip voor als je een site maakt is de Web developer toolbar (voor als je FF gebruikt) Daarmee kun je altijd alle errors en ook de waarschuwingen zien. Via

Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
martin149 schreef op maandag 25 april 2011 @ 07:14:
Ewn tip voor als je een site maakt is de Web developer toolbar (voor als je FF gebruikt) Daarmee kun je altijd alle errors en ook de waarschuwingen zien. Via
Die geeft alleen helaas de foutmeldingen van Internet Explorer niet weer. Het komt nog weleens voor dat een stukje javascript prima werkt in Firefox maar op zijn bek gaat in Internet Explorer. En voor Internet Explorer (6,7) is de Script Debugger een prima tool. In IE8 en IE9 zit al een developer tool ingebakken waarmee je ook javascript kunt debuggen.

If I can't fix it, it ain't broken.

Pagina: 1