webForumDet fria alternativet

fel i firefox!

8 svar · 550 visningar · startad av nakoz

nakozMedlem sedan dec. 1999653 inlägg
#1

hej.

jag har precis slängt upp http://www.komab.se/ och får ett lurigt fel i firefox!

när man går in under en produkt, så slutar top-menyn att fungera och kan för mitt liv inte förstå varför.. det fungerar bra i IE.
någon?
snabbt svar vore toppen då sidan "lanserades" i fredags...

PeddaMedlem sedan juni 20006 032 inlägg
#2

Allt ser likadant ut för mig i både firefox och IE.

Vilken version av firefox har du då det krånglar?

red/ nu förstår jag vad du menade. miss av mig.

frankofMedlem sedan jan. 20016 874 inlägg
#3

Den omedelbara skillnaden är: onFocus="this.blur()"

Produktsidorna:

<link onFocus="this.blur()" href="komab.css" rel="stylesheet" type="text/css">

andra sidor:

<link href="komab.css" rel="stylesheet" type="text/css">
icaaqMedlem sedan okt. 20005 273 inlägg
#4
[red]<link [b]onFocus="this.blur()"[/b] href="komab.css" rel="stylesheet" type="text/css">[/red]

ser lite konstigt ut :OO

mv icaaq

nitro2k01Medlem sedan aug. 20039 342 inlägg
#5

Jag kan inte peka ut felet, men jag kan tyvärr konstatera att menyn är ganska dåligt kodad. Jag listr här några fel, även om jag inte ser något direkt samband med ff-problemen.

if (document.images) {
	omon=new Image();
	omon.src="/img/om_oss-on.gif";
	omoff=new Image();
	omoff.src="/img/om_oss.gif";

	ftgon=new Image();
	ftgon.src="/img/foretag-on.gif";
	ftgoff=new Image();
	ftgoff.src="/img/foretag.gif";

	kamon=new Image();
	kamon.src="/img/kampanjer-on.gif";
	kamoff=new Image();
	kamoff.src="/img/kampanjer.gif";

	buton=new Image();
	buton.src="/img/butiker-on.gif";
	butoff=new Image();
	butoff.src="/img/butiker.gif";

	konton=new Image();
	konton.src="/img/kontakta_oss-on.gif";
	kontoff=new Image();
	kontoff.src="/img/kontakta_oss.gif";
}
  1. Använd new Image() inte new Image
  2. Ange absoluta sökvägar: Alltså t ex omon.src="/img/om_oss-on.gif";

Sedan har vi ditt överanvändande av eval :OO

function changeStyle(Id,Property,Value){
	if (document.all){
		eval('document.all[Id].style.'+Property+'="'+Value+'"');
	} else if (document.layers){
		eval('document.layers[Id].'+Property+'="'+Value+'"');
	} else if (document.getElementById){
		eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
	}
}

blir med fördel:

function changeStyle(Id,Property,Value){
	document.getElementById(Id).style[Property]=Value);
}

Notera tre saker:

  1. Särbehandla inte ie! (doument.getElementById stöds sedan länge)
  2. Skippa NS4-koden! (document.layers funkar ändå inte som du vill i detta fall)
  3. Jag tror att FF inte hittar variabeln Id när du lägger den i eval, det tror jag är felet.

I övrigt finns det mycket som skulle kunna förbättras, men det tänker jag inte lägga min energi på nu.

nakozMedlem sedan dec. 1999653 inlägg
#6

nitro2k01
hittat på webforum, så jag får skylla på mina bristfälliga javascript-kunskaper.
tack för kodexemplet dock, ska lägga lite energi på att förbättra koden.. senare. =)

isaaq / frankof
där kan nog skon klämma. jag kikar på det strax. tack!
anledningen till att det ser ut sådär är att jag gjorde en "ersätt alla " href" med " onFocus="this.blur()" href". alltså slarv. =)

zcorpanMedlem sedan dec. 20042 245 inlägg
#7

onfocus="this.blur()" är inte speciellt bra för användarvänlighet då det hämmar dem som använder tangentbordet istället för musen.

Om du vill få bort den "fula" ramen kan du ändra det i stilmallen. Åtminstone för Firefox. Jag skulle faktiskt försöka göra det lättare för tangentbordsanvändare istället för svårare men det kanske bara är jag. :)

a:focus, a:active {
 -moz-outline:none;
 background:Highlight;
 color:HighlightText;
 text-decoration:none; 
}
nakozMedlem sedan dec. 1999653 inlägg
#8

zcorpan
det kanske kan vara bra, men jag ids inte göra om - till nästa site, jag lovar. =)

efter lite slit i håret så hittade jag en lösning iallafall..
jag hade uppenbarligen en "</td></tr></table>" för mycket
på slutet. känsliga jävel ;)

zcorpanMedlem sedan dec. 20042 245 inlägg
#9

Sånna fel man kan undvika om man validerar... ;)

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