[JS]output controleren

Pagina: 1
Acties:

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 01-09 16:15
Ik ben bezig een website te maken, welke gedeeltelijk wordt opgebouwd met een javascript. Ik ben hier redelijk nieuw mee, dus ik blijf aan het debuggen op het moment. Is er misschien een handig programmatje, of manier om de output van een functie welke document.write of document.innerhtml wegschrijft?

  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 22-08 13:18
dus je wilt debuggen? ik gebruik meestal een alert() voor het opvragen van variabelen... is dat wat je bedoelt?

Ben eens iets duidelijker...

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 01-09 16:15
uhm,
ik heb een functie welke ahw het 1e deel van m'n site opmaakt, vanaf de body-tag. Mbv document.all['site'].innerHTML='blablabla'; document.close();
Als ik nu ergens in dat 'blablabla' gedeelte een fout maak, dan krijg ik dat dus te zien mbv een vage foutmelding op de site. Ik zou dus gewoon de output van de javascript functie willen zien, de HTML-code, zodat ik dan kan controleren waar het fout gaat.

  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 22-08 13:18
Er staat me iets van bij dat je in Netscape (4?) de output kunt zien...

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

Dr_Frickin_Evil schreef op 28 augustus 2002 @ 23:08:
uhm,
ik heb een functie welke ahw het 1e deel van m'n site opmaakt, vanaf de body-tag. Mbv document.all['site'].innerHTML='blablabla'; document.close();
Als ik nu ergens in dat 'blablabla' gedeelte een fout maak, dan krijg ik dat dus te zien mbv een vage foutmelding op de site. Ik zou dus gewoon de output van de javascript functie willen zien, de HTML-code, zodat ik dan kan controleren waar het fout gaat.
Meestal gaat het fout bij het escapen van bepaalde karakters. Wat ik meestal doe is het regel voor regel opbouwen, met eventueel een alert. Zo kan ik ook eventueel nog regels escapen om te kijken waar de fout precies ziet:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function writeContents() {

var theHTML  = '<table>';
    theHTML += '<tr>';
    theHTML += '<td onMouseOver="this.className=\'tdActive\'">blaat</td>';
\\    theHTML += '<td onMouseOver="this.className=\'tdActive'">blaat</td>'; misschien fout?
    theHTML += '</tr>';
    theHTML += '</table>';

alert(theHTML); // ff checken

if (document.getElementById) {
  document.getElementById('contentDiv').innerHTML = theHTML; // ondersteun Mozilla/NS6 nou ook eens!
} else if (document.all) {
  document.all['contentDiv'].innerHTML = theHTML; // en Opera en NS4 hebben pech >:)
}

Intentionally left blank


Verwijderd

Vanaf IE4 (windows only) kun je gebruik maken van Debug.write( string ). Als je de script-debugger aan hebt, wordt de string dan naar het command-window gestuurd.

Om het ook voor Mozilla en andere browsers te laten werken kun je de volgende code toevoegen:
JavaScript:
1
2
3
4
5
6
7
function _dbg(s) {
  //write debug-info for non-IE browsers
  top.status=s;
}
if(typeof Debug=='undefined') {
  var Debug={write:_dbg, writeln:_dbg};
}
Pagina: 1