Avatar billede punnishment Nybegynder
22. april 2002 - 22:17 Der er 23 kommentarer og
2 løsninger

Alle browser: IE, NS, Opeara...

Nu er jeg en flittig bruger af disse javascripts (DHTML eller hvad de nu hedder)

document.all.blaah.innerHTML = '';
document.formname.blaah.value = '';
parent.blaah.location.href = '';
document.all.blaah.src = '';
document.all.blaah.style.display = 'none';
document.all.blaah.style.display = 'block';


men hvilken browser er det nu lige de virker i?
Jeg ved de virker i IE 5.0+ da der er det jeg køre med, men virker de os i Netscape (eller Opera).

hvis de ikke gøre, er der så en anden måde at skrive det på så de virker i begge(alle tre) browser..

måske GetElementById (hvis det er den, så hele formlen til alle de funktioner tak)
Avatar billede tower.dk Nybegynder
22. april 2002 - 22:19 #1
Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk
Avatar billede punnishment Nybegynder
22. april 2002 - 22:19 #2
glemte en til, som jeg også bruger meget flittigt...:


document.all.blaah.style.backgroundColor = '';
Avatar billede punnishment Nybegynder
22. april 2002 - 22:20 #3
hvad fanden laver det i mit spørgsmål?
Avatar billede tower.dk Nybegynder
22. april 2002 - 22:21 #4
Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk
Avatar billede tower.dk Nybegynder
22. april 2002 - 22:21 #5
IHhh !! Det er altså svært det her systemet.
Avatar billede pelkjaer Nybegynder
22. april 2002 - 22:23 #6
tower>>Hvad i alverden har du gang i??
Avatar billede tower.dk Nybegynder
22. april 2002 - 22:23 #7
jamen jeg er nyebegyndet.
Avatar billede nikolajdu Nybegynder
22. april 2002 - 22:25 #8
Skal de virke i IE5, Netscape 6.x og Opera 5, så skal du bruge:

document.getElementById('mitElement')

I stedet for document.all['mitElement']

document.getElementById('blaah').innerHTML = '';
document.formname.blaah.value = '';
parent.blaah.location.href = '';
document.getElementById('blaah')..src = '';
document.getElementById('blaah').display = 'none';
document.getElementById('blaah').display = 'block';

/Nikolaj
Avatar billede jakoba Nybegynder
22. april 2002 - 22:37 #9
document.all.blaah.innerHTML = '';
    // IE4 og op;  opera(delvis)

document.formname.blaah.value = '';
    // ALLE  forudsat det er et formfelt der har en .value attribut

parent.blaah.location.href = '';
    // ALLE

document.all.blaah.src = '';
    // som øverste.  ikke alle html kommandoer har en .src attribut
    // <div i IE har fx ikke.

document.all.blaah.style.display = 'none';
document.all.blaah.style.display = 'block';
document.all.blaah.style.backgroundColor = '';
  //  igen som øverste dog pænt pålideligt i Opera

lidt misvisende da du ikke fortæller hvilket html-element 'blaah' er, det gør en stor forskel om det er
    <form id='blaah' 
eller.
    <div id='blaah'
eller
    <a id='blaah'

Har du totalt opgivet Netscape?
    document.getElementById('blaah').
er ekvivalent for
    document.all.blaah.
men tager NS6 med (og dropper til gengæld IE4 der ikke forstår korrekt DOM notation)

mvh JakobA
Avatar billede punnishment Nybegynder
22. april 2002 - 23:08 #10
hvad skal mit valg så være?? (getElementById eller document.all)
hvad havde i valgt?

Det skal bruges til en portal agtig side, hvor det er alle slags bruger det kommer. Så den bedste løsning som understøttes af de fleste brugere.
Avatar billede nikolajdu Nybegynder
22. april 2002 - 23:14 #11
Hvis det skal virke i IE 4, så bruger du document.all - Skal det virke i de nyere DOM browsere bruger du getElementById.

Du kan evt lave et tjeck for browser og så gå ud fra det istedet.

<script language="javascript">   
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

var findBrowser = (ns4)? document.layers['blaah'] : (ie4)? document.all['blaah'].style : document.getElementById('blaah').style;

findBrowser.backgroundColor = "#333333";

</script>

/Nikolaj
Avatar billede nikolajdu Nybegynder
22. april 2002 - 23:16 #12
IE5+ for står både document.all og document.getElementById - Det samme gør Opera i øvrigt også

/Nikolaj
Avatar billede punnishment Nybegynder
23. april 2002 - 14:17 #13
kan jeg ikke lave noget med


if (document.layers) {
aaa = document.layers
} elseif (document.all) {
aaa = document.all {
} elseif (document.getElementById && !document.all) {
aaa = document.getElementById
} elseif (document.getElementById) {
aaa = document.getElementById
}

også bruge aaa istedet for at skrive de forskellige dimser??

altså:

aaa('blaah').style = 'block';


eller er det ikke muligt??
Avatar billede nikolajdu Nybegynder
23. april 2002 - 15:04 #14
Det er jo mere eller mindre det jeg har gjort.

    <script language="javascript">   
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

function tjeckDu(mitId){

aaa = (ns4)? document.layers[mitId] : (ie4)? document.all[mitId].style : document.getElementById(mitId).style;

aaa.backgroundColor = "#999999";
}
</script>
</head>

<body>
<a href="#" id="hej" onclick="tjeckDu(this.id)">klik</a>

/Nikolaj
Avatar billede punnishment Nybegynder
23. april 2002 - 15:19 #15
hvorfor skriver du ikke style ved layers??

document.layers['id'].style.backgroundColor = '';
er det forkert?

Hvis ikke, er der så os andre steder der er denne forskel mellem diverse (kan du skrive dem til mig)
Avatar billede punnishment Nybegynder
23. april 2002 - 15:26 #16
fx ved document.layers['id'].style.display = 'none';

skal der stå style? (Du må gerne sammenligne med de øverste eksempler)
Avatar billede nikolajdu Nybegynder
23. april 2002 - 15:31 #17
Har du prøvet det af?? Det virker fint uden - Det kommer an på hvad du forsøger - Men nu er det slut med at gætte - Du må forklare præcist hvad du vil have - Så vil jeg gerne hjælpe.

/Nikolaj
Avatar billede =maddog= Nybegynder
23. april 2002 - 16:53 #18
det hedder ikke backgroundColor i NS4 men bgColor og man skal ikke bruge style. kan evt løses ved
obj = (ns4)? document.layers['mdiv'] : (ie4)? document.all['mdiv']: document.getElementById('mdiv')
obj.css = (ie4 || ns6)? obj.style : obj
også så
obj.css.color = '#333333'
obj.css.visibility = 'hidden'
o.s.v
eneste der ikke dur er bgColor/backgroundColor
Personligt er jeg blevet træt af det og har lavet et layermaneger objekt der kan styre de fleste ting jeg har brug for så som layout og indre HTML
www.dsr.kvl.dk/~maddog/ns4/js/layman.js
f.eks.
myman = new LayerMan();
myman.get('mdiv');
myman.setHTML('<a href=#>absolut</a>');
myman.obj.css.color = 'red';
myman.obj er det nuværende element der er i myman og myman.elements['mdiv'] er en pointer til objektet hvis der skal laves layout i den store stil.
Avatar billede punnishment Nybegynder
23. april 2002 - 17:35 #19
mddog - det er lige det jeg manglede...


ellers skulle jeg hele tiden lave et nyt object hvor jeg gav det nyt id..:
objaaa = (ns4)? document.layers[mitId] : (ie4)? document.all[mitId].style : document.getElementById(mitId).style;


Jeg takker og prøver det lige... Hvis du os lige gidder at svare kan du os få points
Avatar billede =maddog= Nybegynder
23. april 2002 - 17:38 #20
jeg er ikke helt færdig med den, og der er nogle bugs. hvis du er interesseret vil jeg løbende opdatere den. desuden vil jeg give en hånd for at få den prøvekørt i andre miljøer. du får lige mit ICQ nummer: 63320874
Avatar billede punnishment Nybegynder
23. april 2002 - 17:41 #21
men maddog virker dit system ikke kun i ns4??
har du ikke en som tjekker alle sammen igennem?

sådan en hvor jeg bare skrev
myman.iden.css.bgColor = '';
eller
myman.iden.style.backgroundColor = '';

også var myman det jeg skulle bruge (document.all | document.layers | document.getElementById)
Avatar billede =maddog= Nybegynder
23. april 2002 - 17:49 #22
du laver et LayerMan objekt
myman = new LayerMan()
du indlæser et element
myman.get('mdiv')
nu refererer myman.obj til mdiv og du kan gå igang
myman.obj.css.bgColor = 'transparent'
o.s.v.
så indlæser du et nyt.
myman.get('mdiv2')
nu refererer myman.obj til mdiv2, men myman.elements['mdiv'] refererer til mdiv så
myman.elements['mdiv'].css.color = 'red'
myman.obj.css.color = 'red'
vil sætte mdiv og mdiv2 til rød farve. det er måske også forkert af mig at lave en reference til et halvfærdigt produkt. det var ment lidt som inspiration.
Avatar billede punnishment Nybegynder
23. april 2002 - 17:51 #23
har fundet ud af det:


var ns = (document.layers)? true : false
var ie4 = (document.all)? true : false
var v5 = (document.getElementById)? true : false

var obj = (ns4)? document.layers : (ie4)? document.all : document.getElementById;
obj('id').innerHTML = 'ASDSDADASASD';
Avatar billede punnishment Nybegynder
23. april 2002 - 17:53 #24
ok...

jeg må ærligt indrømme jeg ikke forstod særlig meget af det du skrev maddog.. men jeg er heller ikke så godt til dette og så har jeg os fundet en løsning til mit problem.

nikolajdu og jakoba får pointsene da det var dem der hjalp mig igang, og jeg ikke rigtigt kunne bruge dit maddog (tak for hjælpen alligevel)


Tak for hjælpen alle..!
Avatar billede nikolajdu Nybegynder
23. april 2002 - 18:07 #25
punish - Selv tak :)

=maddog= - Du har helt ret i forholdet bgcolor - anywayvar det kun ment som et hurtigt og ikke så gennemtænkt eksempel :)

/Nikolaj
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester