Avatar billede cpfrande Nybegynder
05. februar 2002 - 21:49 Der er 9 kommentarer og
1 løsning

--[ Reload i JavaScript ]--[ Hjælp hurtigt tak ! ]--

Hey !!

Jeg har et alvorligt problem og åbenbart uløseligt problem !
Jeg har spurgt en del venner osv. som har forstand på det, men uden hjælp !

Jeg har brug for et JavaScript som kan reloade igennem frames.
Den skal bruges til en 3D chat, så det skal være en reload som ikke får
billeder, figur og ting til at blinke ved hver reload !
Dertil skal den hente informationerne i en usynlig frame og udskrive i en
anden frame... Gerne lydløst ( Uden de skide IE kliks og det )
Og så skal den fungere i både IE og NS !

Jeg har fået følgende koder som jeg ikke rigtig kan få til at fungere:

--[Kode nr. 1]--
( Denne kode kan kun bruges til at ændre figurens figur )
Kode i synlig frame ( Framenavn: vischat ):
<img src="figur.gif" id="figur1">


Kode i usynlig frame ( Framenavn: hentchat ):
<script>
parent.document.figur1.src='nyfigur.gif';
</script>


--[Kode nr. 2]--
( Denne kode burde ændre indholdet i en <div> )
Kode i synlig frame ( Framenavn: vischat ):
<div name="felt"></div>


Kode i usynlig frame ( Framenavn: hentchat ):
<script>
parent.document.all['felt'].innerHTML = 'Indhold';
</script>



( Indholdet i kode nr. 2 burde komme IMELLEM <div> og </div> ! )

Men jeg kan bare ikke få det til at virke !

Nogen der kan komme med en direkte kode som KAN bruges ???

På forhånd tak !

( Første korrekte bud får ALLE points ! )

<-| Frande |->
Avatar billede rune_c Nybegynder
05. februar 2002 - 22:05 #1
Prøv dette

parent.frames['vischat'].document.all.felt.innerText = "Indhold"

/Rune
Avatar billede rune_c Nybegynder
05. februar 2002 - 22:15 #2
hov så lige du bruger name="felt"

parent.frames['vischat'].document.all.felt.innerText = 'Indhold'

virker hvis du skriver id="felt"
Avatar billede nikolajdu Nybegynder
06. februar 2002 - 00:57 #3
NS forstår ikke document.all, så her bruger vi document.getElementById, der iøvrigt også bruges i IE 5.0,5.5 og 6.0:

if(document.all){
parent.frames['vischat'].document.all['felt'].innerHTML='indhold';
}else if (document.getElementById){
parent.frames['vischat'].document.getElementById('felt').innerHTML='indhold';
}

ang.: Kliklyde, så er det en bruger indstilling og den kan du ikke slå fra - det skal folk selv gøre.

/Nikolaj
Avatar billede cpfrande Nybegynder
06. februar 2002 - 06:57 #4
Hej !


Nu brugte jeg Nikolajs forslag da jeg allerede har prøvet rune_c's forslag !

Resultatet bliver følgende:
www.cyberpro.dk/eksperten/

Framesættet hedder det den skal meeen stadig problemer med det !


<-| Frande |->
Avatar billede nikolajdu Nybegynder
06. februar 2002 - 09:39 #5
Det er formodenligt fordi du kalder scriptet inden framen eller din <div er på plads:

<script>

function init(){

if (parent.frames['vischat']){
if(document.all){
parent.frames['vischat'].document.all['felt'].innerHTML='indhold';
} else if (document.getElementById){
parent.frames['vischat'].document.getElementById('felt').innerHTML='indhold';
}
}else{
setTimeout('init()',100)
}
}
</script>

</body onload="init()">
Avatar billede Slettet bruger
06. februar 2002 - 11:19 #6
Husk lige, at det kun er i NS6 og IE4+, scriptet virker. Hvis det også skal virke i NS4.x, så skal du til at rode med ilayers o.s.v.
Avatar billede rune_c Nybegynder
06. februar 2002 - 13:26 #7
"
hov så lige du bruger name="felt"

parent.frames['vischat'].document.all.felt.innerText = 'Indhold'

virker hvis du skriver id="felt"
"

skrev jeg....og det virker altså!!!!! Det er ligegyldigt om du bruger getElementById eller document.all!! Hvis du siger du har prøvet det jeg skriver virker det jo også - ellers må du lige sætte dig ned og læse lidt i en ref!!
Avatar billede Slettet bruger
06. februar 2002 - 13:27 #8
rune_c>> document.all forstår NS jo ikke! Nikolajdu har helt ret.
Avatar billede rune_c Nybegynder
06. februar 2002 - 13:40 #9
ahh på den måde....det er rigtigt nok, tænkte ikke lige over den, da jeg næsten ikke laver scripts til NS lige i øjeblikket.:)
Avatar billede cpfrande Nybegynder
06. februar 2002 - 14:35 #10
Nikolajdu >> Dit svar var det bedste og første rigtige løsning !
Jeg lukker hermed for spørgmålet, og overlader de 150 points til Nikolajdu som tak for hjælpen !

Men dertil vil jeg også gerne sige tak til dig rune_c og til dig phoenixv som gad hjælpe også !

<-| Frande |->
/Spørgsmål lukket !
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