Till Startsidan
JavaScript.nu / JavaScript-kurs / Felmeddelanden och händelser (events)

LÄR DIG SPRÅKET JAVASCRIPT
Felmeddelanden och händelser (events)

Vill du att något speciellt ska hända då man får JavaScripterror? Då kan du använda dig utav window.onerror. Du kan även göra så att inga felmeddelanden dyker upp.

Jag vill dock betona att det som tas upp i detta kapitel inte fungerar på alla webbläsare, då många nyare webbläsare, däribland NN 6 och NN 4.7 över huvud taget inte visar felmeddelanden.
Du bör därför vara medveten om att det som tas upp här inte kommer att fungera med fullt stöd på alla webbläsare.

T.ex. ger detta script ett felmeddelande...

<SCRIPT LANGUAGE="JavaScript">
<!--

sdtkfgliejrtoe_FELMEDDELANDE

//-->
</SCRIPT>
...medan detta script inte gör det...
<SCRIPT LANGUAGE="JavaScript">
<!--
function ta_bort()
{
return true;
}
window.onerror=ta_bort;
sdtkfgliejrtoe_FELMEDDELANDE

//-->
</SCRIPT>
window.onerror kan följas av ett funktionsnamn (utan paranteser) för att aktivera en funktion då fel uppstår. Detta script fungerar enda tills man kommer till raden med ALERT, som leder till ett felmeddelande, som i sin tur aktiverar funktionen fel_har_skett. Efter att denna funktion har avslutats så dyker felmeddelandet upp.
<SCRIPT LANGUAGE="JavaScript">
<!--
window.onerror=fel_har_skett;

function fel_har_skett()
{
alert("Ojsan, ett fel har inträffat nu.");
}

alert("Hejsan hoppsan.");
ALERT("Detta kommer du inte att få se.");
//-->
</SCRIPT>
Låt oss nu säga att vi vill ha exakt samma script som ovan, fast inget felmeddelande ska visas. Då använder vi istället Detta script
<SCRIPT LANGUAGE="JavaScript">
<!--
window.onerror=fel_har_skett;

function fel_har_skett()
{
alert("Ojsan, ett fel har inträffat nu.");
return true;
}

alert("Hejsan hoppsan.");
ALERT("Detta kommer du inte att få se.");
//-->
</SCRIPT>
Vi förstår alltså att om funktionen som anropas av window.onerror returnerar true så visas inget felmeddelande. På detta sätt kan du undvika att visa felmeddelanden för dina besökare om du så vill (tänk dock på att detta inte tar bort alla sorters felmeddelanden).
Du ser nu även varför de första scripten på denna sida inte gav felmeddelanden, de anropade nämligen funktioner som returnerade true.

Tabellen nedan visar fler händelser som man kan integrera med en funktion.
document.onerror
När scriptfel uppstår
document.onkeydown
När en tangent trycks ner
document.onkeyup
När en tangent släpps
document.onmousedown
När man trycker ner musknappen
document.onmouseup
När man släpper musknappen
document.onclick
När en klickning sker (kan ju vara så att man surfar utan mus)
document.ondblclick
När en dubbelklickning sker (kan ju vara så att man surfar utan mus)

document.onclick och document.ondblclick i Netscape reagerar inte om man trycker på ett område där text markeras. Även om just det stället man klickar på inte innehåller text fast en dubbelklickning där gör så att text markeras så fungerar inte document.onclick och document.ondblclick inom det området.



Jaha, ännu ett kapitel är borta, nästa står på tur om du vågar trycka här.






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]