Avatar billede jammerlab Nybegynder
25. marts 2006 - 22:18 Der er 4 kommentarer og
1 løsning

Problemer med innerhtml i frames

Hey derude... jeg har endelig fundet ud af at lave en chat klik fri, men
jeg har lidt problemer med lidt JS script... grundet frames så virker det ikke efter implementeringen.
Jeg har følgende side jeg åbner til at starte med

index.php

<frameset rows="100,*" frameborder="NO" border="0" framespacing="0">
  <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
    <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="topFrame" scrolling="NO" noresize src="chat_F1.php" >
      <frame name="rightFrame1" scrolling="NO" noresize src="hidden_f.php">
    </frameset>
    <frame name="rightFrame" scrolling="NO" noresize src="hidden_f2.php">
  </frameset>
  <frameset rows="*,50" frameborder="NO" border="0" framespacing="0">
    <frameset cols="160,*" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="leftFrame" scrolling="NO" noresize src="chat_F2.php">
      <frame name="mainFrame" src="chat_F3.php">
    </frameset>
  <frame name="bottomFrame" scrolling="NO" noresize src="chat_F4.php">
</frameset>
</frameset>
<noframes>
<body topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"></body>
</noframes>

chat_F3.php (mainFrame)

<html>
<head>
<title>Modern-Solutions.dk - Chat Beta 0.9</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<link href=style.css rel=stylesheet type=text/css>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body onload="parent.mainFrame.document.location.href='dok1.php';">
<div id='chat'></div>
<iframe width='100' height='100' name='script'></iframe>
<body>
</html>

denne side åbner dok1.php

<html>
<head>
<title>Modern-Solutions.dk - Chat Beta 0.9</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<link href=style.css rel=stylesheet type=text/css>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body onload='loadet();'>
<script>
parent.document.getElementById('chat').innerHTML = "<?php

$query = mysql_query("select * from chattext order by unix DESC") or die(mysql_error());
while($row = mysql_fetch_array($query)) {

echo "$row[text]";

?>";
function loadet() {
setTimeout("location.reload(true)",10000);
}
</script>
</html>

Den sender bare ikke rigtigt texten videre. Den fejl jeg for er følgende:

parent.document.getElementByld(...)' er null eller ikke et objekt
koden er den fra filen dok1.php

parent.document.getElementById('chat').innerHTML = "<?php

Det er først gået i kluder efter jeg har smidt det ind i mit frameset ellers har koden virket fint.
Avatar billede mclemens Nybegynder
25. marts 2006 - 22:42 #1
chat_f3:
åbnes i første frameset og sender besked via javascript til parent (hoved siden med indeling i frames) om at mainframe skal udskiftes med dok1.php
- det er vel en omvejtilengenvej? er det ikke ligeså nemt at have
<body onload="location.href='dok1.php';"> i den fil istedet for
<body onload="parent.mainFrame.document.location.href='dok1.php';">

i dok1.php henviser javascriptet til parent (hoved siden med indeling i frames) med reference til 1 div med id 'chat' det eksisterede i den chat_f3 som lige er blevet erstattet af dok1.php....

prøv at skifte chat_F3.php med denne her:
chat_F3.php (mainFrame)

<html>
<head>
<title>Modern-Solutions.dk - Chat Beta 0.9</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<link href=style.css rel=stylesheet type=text/css>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body onload="document.getElementById("myscriptframe").src='dok1.php';">
<div id='chat'></div>
<iframe width='100' height='100' id='myscriptframe' name='myscriptframe'></iframe>
<body>
</html>
Avatar billede mclemens Nybegynder
25. marts 2006 - 22:43 #2
arg denne her istedet :/

<html>
<head>
<title>Modern-Solutions.dk - Chat Beta 0.9</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<link href=style.css rel=stylesheet type=text/css>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body onload="document.getElementById('myscriptframe').src='dok1.php';">
<div id='chat'></div>
<iframe width='100' height='100' id='myscriptframe' name='myscriptframe'></iframe>
<body>
</html>
Avatar billede mclemens Nybegynder
25. marts 2006 - 22:54 #3
... kan godt være myscriptframe skal rettes til script :P
Avatar billede jammerlab Nybegynder
28. december 2006 - 16:36 #4
Sory der er gået så lang tid... projektet ligger på hylden lige for tiden og kan ikke huske om det lykkedes... men smid et svar så for du de point
Avatar billede jammerlab Nybegynder
24. maj 2007 - 15:24 #5
Hm.. jeg lukker nu du må lige sige til hvis du vil havde de point...
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