Avatar billede knock Nybegynder
06. oktober 2007 - 18:21 Der er 18 kommentarer

Opdater i frame, vis i anden frame

Hej.

Jeg siddder fast, jeg er igang med en chat og har nogle problemer.
Den her "opdater uden blink og kliklyd" findes der 250.000 emner om, og har været sinsyg mange igennem og jeg kom til at det her med en skjult frame som konstant opdaterer, også viser den beskederne i en div, nok er det bedste.
Men jeg sidder fast.
Er der ikke en som kan forklare det ud fra disse punkter:

Skjult frame: u
Chatframe: left
- det er asp og mysql.
Avatar billede knock Nybegynder
06. oktober 2007 - 19:29 #1
idéer ?
Avatar billede knock Nybegynder
06. oktober 2007 - 23:41 #2
holder den opdateret...
Avatar billede roenving Novice
07. oktober 2007 - 02:50 #3
I u-framen har du også et javascript, der onload overfører de data framen indeholder (nemmest som json - javascript object notation eller bare som array !-) til den anden frame ...


<script type="text/javascript">
var data = [
  ["12-10-2007 12:26:56","knock","Dette er et indlæg\nover flere linjer"]
]
window.onload = function(){
  var trgtDoc = parent.frames["left"].document, trgt = trgtDoc.getElementById("chatDiv"), tmp;
  while(trgt.firstChild)
    trgt.removeChild(trgt.firstChild)
  for(i=0,im=data.length;im>i;i++){
    trgt.appendChild(trgtDoc.createTextNode(data[i][0]);
    trgt.appendChild(trgtDoc.createElement("br"));
    trgt.appendChild(trgtDoc.createTextNode(data[i][1]);
    trgt.appendChild(trgtDoc.createElement("br"));
    tmp = data[i][0].split("\n");
    for(j=0,jm=tmp.length;jm>j;j++){
      trgt.appendChild(trgtDoc.createTextNode(tmp[j]);
      trgt.appendChild(trgtDoc.createElement("br"));
    }
  }
}

-- et eksempel og absolut utestet !-)
Avatar billede knock Nybegynder
07. oktober 2007 - 03:03 #4
dvs. det du skrev der, hvor præcist skal jeg sætte den kode? :)
Avatar billede knock Nybegynder
07. oktober 2007 - 03:05 #5
Det er her jeg falder i hele tiden:

var data = [
  ["12-10-2007 12:26:56","knock","Dette er et indlæg\nover flere linjer"]
]

Min kode, til at udskrive er jo 20-30 linjer lang som er blandet med at åbne asp'en <% %> og lukke og åbne og lukke..Hm
Avatar billede knock Nybegynder
07. oktober 2007 - 13:48 #6
...holder den stadig opdateret..
Avatar billede knock Nybegynder
07. oktober 2007 - 17:50 #7
...håber en lige kan se forbi ..
Avatar billede knock Nybegynder
07. oktober 2007 - 19:10 #8
har hårdt brug for det :/ hmm...
Avatar billede olebole Juniormester
07. oktober 2007 - 19:39 #9
<ole>

Det er en tavetosse fra roenving. Der skulle stå:
    tmp = data[i][2].split("\n");

- 2 ... ikke 0  :)

/mvh
</bole>
Avatar billede knock Nybegynder
07. oktober 2007 - 19:46 #10
Jamen jeg forstod ikke det med hans kode ?

appendChild??
Kan en af jer ikke uddybe kode, hvor jeg skal sætte den osv. ?
Avatar billede olebole Juniormester
07. oktober 2007 - 20:23 #11
Den ligger i dokumentet, du loader i iframe'en. Men koden skal jo tilpasses din egen applikation ... det er kun et eksempel
Avatar billede knock Nybegynder
07. oktober 2007 - 20:31 #12
Okay men først -
var data = [
  ["12-10-2007 12:26:56","knock","Dette er et indlæg\nover flere linjer"]
]

mellem [] skal indholdet være, ikke ?
Og indholdet hos mig er jo en lang kode, som åbner og lukker asp ?
Avatar billede olebole Juniormester
07. oktober 2007 - 21:47 #13
Der er forskellige 'felter' i hver besked. Et datofelt, et brugernavnsfelt og et beskedfelt. Selve beskeden består af: "Dette er et indlæg\nover flere linjer" - og brugernavnet er 'knock'.

Nej, ASP 'åbnes' og 'lukkes' kun på serveren. Når dokumentet rammer browseren, er der bare tale om tekst, der fortolkes af en JavaScript-fortolker.
Strengen skal være på _rigtig_ mange KB, før du rammer loftet - så det giver nok ikke problemer :)
Avatar billede knock Nybegynder
07. oktober 2007 - 21:57 #14
ole ->
Jeg mente ikke åbnes og lukkes den måde hehe.

Men er det muligt at sætte (F.EKS) sådan:

var data = [
<%
response.wriite rs("brugernavn")
%>
Klik for info
<%
response.write "klik her"
%>
]

Altså åbnes og lukkes <% asp %> normalt <% asp %> normal
forstår du? :)
Kan du ikke prøve og bikse den der script til mig sammen?
Og give mig værdierne jeg skal ændre på min egen side ?
Avatar billede olebole Juniormester
08. oktober 2007 - 01:05 #15
'data' er et arrays af beskeder, der hver især er opbygget som beskrevet i min forrige kommentar.
Vedr. arrays i JavaScript, kan det være, du bør læse:
    http://www.eksperten.dk/artikler/227

var data = [
  ["12-10-2007 12:26:56","knock","Dette er et indlæg\nover flere linjer"]
]

- svarer til:

var data = new Array(
  new Array("12-10-2007 12:26:56", "knock", "Dette er et indlæg\nover flere linjer")
)
Avatar billede knock Nybegynder
08. oktober 2007 - 01:50 #16
ole -->
Jamen altså.
Jeg skal ikke udskrive beskeder eller noget :S?

- måske kommer det pludseligt, men det til en chat.
Jeg har kigget på det script du har lavet, men det ville ikke virke.
DU ved til chatten, der skal være en skjult frame som opdaterer, også skal den udskrive det i en anden frame.
Mit rykkesystem er inkluderet database, så dvs. hvis du klikker i øverste hjørne, så bliver den position gemt i ddatabasen, også skal framen jo opdateres, før figuren jo rykker derop.
Avatar billede knock Nybegynder
09. oktober 2007 - 03:08 #17
Får nok ikk meget her hmm.. :/
forstår I i øvrigt min pointe ?
Avatar billede knock Nybegynder
10. oktober 2007 - 17:57 #18
holder den opdateret.
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