Avatar billede Søren Bech Morsing Praktikant
24. juni 2006 - 19:17 Der er 8 kommentarer og
1 løsning

kan man bruge innerhtml i parent frame

Jeg leger lidt med innerhtml, og har fået dette til at virke:
<div id="testdiv">test</div>

<script language="javascript">
  alert(document.getElementById('testdiv').innerHTML); // returnere: test
  document.getElementById('testdiv').innerHTML = "ny test";
  alert(document.getElementById('testdiv').innerHTML); // returnere: ny test
</script>

Men jeg skal ændre noget tekst i en anden frame med navnet: andenFrame.
Så jeg skriver:
parent.andenFrame.document.getElementById('testdiv').innerHTML = "ny test"

Men det virker ikke - nogen der kan hjælpe?
Avatar billede mclemens Nybegynder
24. juni 2006 - 19:40 #1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
</head><body>
<iframe name="forsteFrame" src="1.html">
<iframe name="andenFrame" src="2.html">
</body></html>


1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
<script type="text/javascript">
window.onload=function(){
parent.andenFrame.document.getElementById('testdiv').innerHTML = "ny test"
}
</script>
</head><body>
Tester
</body></html>



2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
</head><body>
<div id="testdiv">test</div>
</body></html>
Avatar billede mclemens Nybegynder
24. juni 2006 - 19:41 #2
Sider skal lægge på samme domæne: Crosssite-javascripting
er deaktiveret i mange browsere af sikkerhedsårsager...
Avatar billede mclemens Nybegynder
24. juni 2006 - 19:43 #3
Kom desværre til at afslutte mine iframe tags med
"usynlig skrift" - der skulle stå </iframe> tilsidst :P
Avatar billede Søren Bech Morsing Praktikant
24. juni 2006 - 20:03 #4
(sidern ligger samme sted), og det du skriver:
parent.andenFrame.document.getElementById('testdiv').innerHTML = "ny test"
- er også det jeg har forsøgt
- men gammeldags frames - ej iframe, men det burde vel ikke betyde noget
Avatar billede mclemens Nybegynder
24. juni 2006 - 20:09 #5
prøv top istedet for parent...
Avatar billede mclemens Nybegynder
24. juni 2006 - 20:09 #6
- (tester lige selv lidt gammeldags frames)
Avatar billede mclemens Nybegynder
24. juni 2006 - 20:25 #7
Prøv 1.html samt 2.html og denne:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
</head>
<frameset cols="400,*">
<frame src="1.html" name="forsteFrame">
<frame src="2.html" name="andenFrame">
</FRAMESET></html>

... det virker fint i IE of FF her ...
Avatar billede Søren Bech Morsing Praktikant
25. juni 2006 - 12:04 #8
tak for dine forslag - men jeg tror jeg har fundet ud af hvad der er galt.
På det tidspunkt jeg prøver at skrive via getElementById.InnerHTML er det tag slet ikke synligt.

Så jeg har snydt og så lavet en timeout på 1000 inden jeg forsøger at skrive i den.
Avatar billede mclemens Nybegynder
25. juni 2006 - 12:09 #9
Ok, og tak for point :o)
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