webForumDet fria alternativet

Vettiga felmeddelanden i explorer.

JavaScriptur Javascript

13 svar · 468 visningar · startad av oskob

Medlem sedan maj 20021 558 inlägg
Frågan#1

Hej!

Jag sitter och pular med ett script som fungerar i FireFox men inte i explorer.
Jag blir dock inte klok på exlorers felmeddelanden. Finns det något sätt att man kan få ett vettigt felmeddelande?

Jag får tex nu "Objektet stödjer inte egenskapen eller metoden" och så säger den att det är rad 108 som falierar. Men rad 108 är helt tom. Har tidigare råkat ut för att den hänvisar till helt fel rader. Vad beror det på? Hur hittar jag var felet är. Det är omöjligt för mig att skumma igenom 185 rader kod för att hitta ett eventuellt fel som skulle kunna dumma sig i explorer.

What to do?

Medlem sedan maj 20018 027 inlägg
#2

Kolla om det är raden innan eller efter som strular.

Medlem sedan maj 20021 558 inlägg
#3

Nej jag fick köra med en idiotmetod och la in en alert i scriptet och flyttade den neråt tills den inte kom fram längre och på så vis hittade jag den felaktiga raden. Men det är ju idiotiskt att behöva göra så. Den riktiga felraden låg 5 rader ovanför den som explorer sa. Det roligaste är att vid nästa fel jag hittade så låg den bara 3 rader under.
Mycket irriterande.

Medlem sedan jan. 2005713 inlägg
#4

då är det enklare att plocka bort eller korta ner all text som sträcker sig över fler än 1 rad.. förstår du? eftersom det räknas som 1 rad.

Medlem sedan nov. 20041 740 inlägg
#5

Det här kanske kan vara intressant för dig?
http://blogs.msdn.com/ie/archive/2004/10/26/247912.aspx

Medlem sedan maj 20021 558 inlägg
#6

stattin skrev:

då är det enklare att plocka bort eller korta ner all text som sträcker sig över fler än 1 rad.. förstår du? eftersom det räknas som 1 rad.

Kan det vara så att Explorer räknar långa rader som 2 och att Dreamweaver inte gör det? Låter konstigt.

gislaved skrev:

Det här kanske kan vara intressant för dig?
http://blogs.msdn.com/ie/archive/2004/10/26/247912.aspx

Ska kolla upp det där!

Medlem sedan juni 200032 969 inlägg
#7

IE i sig är helt hopplöst för javascriptdebugging, men det blir lite bättre om man använder Visual Studio för utveckling. Om man gör så; se till att inte "Disable script debugging (Internet Explorer) är förkryssad i inställningarna i IE, och när ett javascriptfel uppträder, välj att debugga i Visual Studio.

Gislaveds länk verkar vettig angående detta.

Någon som har testat IE7 och kan svara på om vi får bättre möjligheter för att debugga javascript direkt i läsaren?

mvh

Medlem sedan maj 20021 558 inlägg
#8

Dumfråga: Visual studio kostar en del va? Känns lite overkill. Men jag känner igen det där "debug in visual studio". Har sett det vid något tillfälle. Var och när har jag ingen aning om dock :/

Medlem sedan juni 200032 969 inlägg
#9

Visual Studio kostar en hel del. Det är dock inte helt omöjligt att Microsofts gratis-editor Visual Web Developer fungerar för ändamålet.

Mvh

Medlem sedan aug. 20039 342 inlägg
#10

Detta är inget fullfjädrat verktyg, men kanske kan hjälpa lite iaf.

Medlem sedan maj 2005562 inlägg
#11

Nu är inte dessa till ie .. men de bör ändå hjälpa en bra bit på vägen.. finns troligen vissa fel i din kod som ff accepterar, men som kanske ie fastnar på. När din kod går igenom venkman utan fel/varningsmeddelanden så bör det även fungera i ie.

Vid javascript utveckling/debugging använder jag följande ff extensions
Venkman Javascript Debugger (alt)
Console²
Console Filter

Hittade även en artikel om att lära sig Venkman

Medlem sedan maj 20021 558 inlägg
#12

Tackar!
For the record: Felet var att jag glömt skriva "var" före jag defenierade en variabel.
Hur är det med var egentligen? Ska man Alltid skriva det när man skapar en variabel? Har sett att det är lite si och så med det.

Medlem sedan aug. 20039 342 inlägg
#13

var innebär att man definierar en ny variabel i det minsta "scope" som finns tillgängligt, t ex inom en funktion eller inom ett stycke som omges av måsvingar. (T ex efter en if-sats eller i en for-loop)
Om du inte använder var, och variabeln är definierad, så används den variabel som definierats i det scope som ligger närmast det scope som funktionen körs i. Om var inte används och variabelnamnet inte har definierats förut, i ett scope tillgängligt där satsen körs, så är det samma sak som att skriva window.variabelnamnet = värde;

Eller för att fatta sig kort, var definierar lokala variabler.

Pröva att lek med följande kod och ta bort var på ett eller flera ställen och se vad som händer.

<script type="text/javascript">
foo=0;

function f1(){
	var foo=1;
	f2();
	alert("Värdet av foo i f1's scope: " + foo);
}

function f2(){
	var foo=2;
	alert("Värdet av foo i f2's scope: " + foo);
}

f1();

alert("Värdet av foo i det globala scopet: " + foo);

</script>
Medlem sedan jan. 2005713 inlägg
#14

oskob skrev:

Kan det vara så att Explorer räknar långa rader som 2 och att Dreamweaver inte gör det? Låter konstigt.

Nja.. jag vet inte vad Dreamweaver gör men IE läser långa rader som en rad även om raden sträcker sig över tio rader.

Och ja man borde ha någon bättre debugger. Ska också kolla på alla tipsen.

EDIT: Jag skoja bara :e (jag trodde jag hamnde fel)

129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)