Vilka webläsare stödjer dhtml?
Har gjort en sida med dhtml och den fungerar inte med NS6 och Opera6, bara IE. Har jag gjort något fel eller klarar de inte av dhtml?
dhtml - vilka webläsare?
11 svar · 275 visningar · startad av Pedda
Antagligen har du gjort något fel, eftersom IE generellt tillåter felaktig kod i stor utsträckning, eller så har du använt någon funktion som endast finns i IE.
Har du något av koden du kan visa?
Sidan bygger på en kod från IDG Webstudio och styrs av ett javascript.
m0.style.display='none'
ändrar du till
getElementById("m0").style.display='none'
document.m0.style.display='none' //ska nog också fungera
och gör likadant på alla andra ställen där man i javascriptet hänvisar till ett objekt genom dess id.
Vad blir skillnaden?
Olika webbläsare använder olika DOM (Document Object Model). Alltså det som beskriver hur du når olika objekt för att sedan ändra egenskap på dem Netscape har haft sin standard och IE sin. Det är först med w3c-DOM som man försökt att enas om en och samma standard, än är de inte helt kompatibla, men stödet blir bättre och bättre getElementById("m0") skall egentligen vara document.getElementById("m0") och är alltså w3c-DOM för att referera till elementet med Id "m0".
Man kan tycka att en så pass ny artikel hos IDG borde ta upp detta.
Så här står det i min js fil:
m0.style.visibility='hidden'
Funkar det att bara ändra till detta menar ni?
document.getElementById("m0").style.visibility='hidden'
Precis, men tänk på att du måste ändra alla förekomster av id-referenser som ser ut på det sättet.
Mozilla och IE6 har klart bäst stöd för DHTML, Opera 6 är dock begränsad då den inte klarar getElementsByTagName() vilket kan vara användbart ibland, t ex om du ska presentera rapporter i en tabell.
dectgap skrev:
Precis, men tänk på att du måste ändra alla förekomster av id-referenser som ser ut på det sättet.
Tyvärr, blev ingen skillnad. Har ändrat samtliga referenser i js-filen. Behöver jag ändra något i html koden?
Jag hämtar in menyn med:
<td class="menubox0" align="center" id="box0"><a href="javascript:showMenu(m0, box0)" id="menyer">Startsidan</a></td>
och boxen med:
<table id="m0" style="filter:revealTrans(duration=0.5, transition=19)" class="block" border cellspacing="0" cellpadding="3">
Hoppas att ni förstår vad jag menar :)
<table id="m0" style="filter:revealTrans(duration=0.5, transition=19)" class="block" border cellspacing="0" cellpadding="3">
Filter är Microsoft påfund och fungerar bara i IE - ge oss en länk till din sida så blir det mycket lättare att lösa problemet.