webForumDet fria alternativet

window.onerror

JavaScript

13 svar · 305 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

Varför funkar inte detta?

<script language="JavaScript" type="text/javascript">
function winerror(){
	alert("fel");
}
window.onerror = winerror;
alert());
</script>
Medlem sedan nov. 20014 054 inlägg
#2

Re: window.onerror

Erik Juhlin skrev:

Varför funkar inte detta?

<script language="JavaScript" type="text/javascript">
function winerror(){
	alert("fel");
}
window.onerror = winerror;
alert());
</script>
<script language="JavaScript" type="text/javascript">
function winerror() {
	alert("fel");
}
window.onerror = winerror();
</script>

Kanske??? :q

Medlem sedan maj 200010 687 inlägg
#3

Vad är skillnaden förutom ett mellanslag?

Medlem sedan nov. 20014 054 inlägg
#4

Erik Juhlin skrev:

Vad är skillnaden förutom ett mellanslag?

Titta på din:
window.onerror = winerror;
alert());

och så min!

Medlem sedan maj 200010 687 inlägg
#5

Ah, du har lite dålig koll på javascript. Använder man t.ex. document.onclick så körs ett anrop till document.onclick() om den är en funktion vilket den blir om man tilldelar den det.

Det är alltså inte en variabel man returnerar ett vanligt värde till.
Sen alert()); ligger ju där för att generera ett fel som jag ska fånga.

Medlem sedan nov. 20014 054 inlägg
#6

Erik Juhlin skrev:

Ah, du har lite dålig koll på javascript. Använder man t.ex. document.onclick så körs ett anrop till document.onclick() om den är en funktion vilket den blir om man tilldelar den det.

Det är alltså inte en variabel man returnerar ett vanligt värde till.
Sen alert()); ligger ju där för att generera ett fel som jag ska fånga.

Kanske inte har den bästa kollen... men jag vet att när sidan laddas som innehåller denna kod:

<script language="JavaScript" type="text/javascript">
function winerror() {
	alert("fel");
}
window.onerror = winerror();
</script>

Så får man en popup med fel! :e

men jag tycker att din alert()); ser konstig ut, har för mig att alert(); ska bara ha () och inte ())?? :q

Medlem sedan juli 20011 084 inlägg
#7

Fredde Mannen skrev:

men jag tycker att din alert()); ser konstig ut, har för mig att alert(); ska bara ha () och inte ())?? :q

Vad han menar är att alert()); ligger där för att skapa ett fel, annars vet han ju inte om det fungerar :stud

Jag testade dock din kod och om man flyttar ut felet ur script-taggen så fungerade det.

<script language="JavaScript" type="text/javascript">
function winerror(){
	alert("fel");
}
window.onerror = winerror;
</script>
<script language="JavaScript" type="text/javascript">
alert());
</script>
Medlem sedan nov. 20014 054 inlägg
#8

mozilla skrev:

Fredde Mannen skrev:

men jag tycker att din alert()); ser konstig ut, har för mig att alert(); ska bara ha () och inte ())?? :q

Vad han menar är att alert()); ligger där för att skapa ett fel, annars vet han ju inte om det fungerar :stud

Jag testade dock din kod och om man flyttar ut felet ur script-taggen så fungerade det.

<script language="JavaScript" type="text/javascript">
function winerror(){
	alert("fel");
}
window.onerror = winerror;
</script>
<script language="JavaScript" type="text/javascript">
alert());
</script>

Ahhh... man lär sig alltid något! :e

Medlem sedan maj 200010 687 inlägg
#9

Umm, jag får inte någon alert.

Medlem sedan nov. 20014 054 inlägg
#10

Erik Juhlin skrev:

Umm, jag får inte någon alert.

<script language="JavaScript" type="text/javascript">

function winerror(){
	alert("fel");
}

window.onerror = winerror;
</script>

<script language="JavaScript" type="text/javascript">
alert());
</script>

Jag får en alert.... med ovanstående kod.... :)

Medlem sedan maj 200010 687 inlägg
#11

Funkar bra i Mozilla för mig, men inte i IE6.

Medlem sedan juli 20011 084 inlägg
#12

Du använder inte norton antivirus? Har för mig att de la in window.onerror = return false; på alla sidor av någon konstig anledning ;)

Medlem sedan maj 200010 687 inlägg
#13

Jo, jag använder Norton Internet Security + Antivirus. Men hela Security biten är disablad p.g.a. att jag inte kan debugga JS-kod med den och så har vi redan riktig brandvägg här.

Så den skriver inte ut någon JavaScript-kod.

Medlem sedan maj 200010 687 inlägg
#14

Det här blir nog ett vettigt komplement. :)

<script language="JavaScript" type="text/javascript">
window.onerror = function(){};
</script>
<script language="JavaScript" type="text/javascript">
try {konstig kod...} catch(e){}
</script>
256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)