26. juli 2001 - 02:27Der er
12 kommentarer og 1 løsning
Onload \"GÅ NED TIL BUNDEN AF EN FRAME\"
Jeg har lavet en chat. Når den opdaterer smutter den på i toppen af den frame teksten vises i. Men de nye replikker kommer (og det skal de blive ved med!) fra neden....det er jo ret irriterende.
For den løsning jeg havde fundet virkdede alligevel ikke. Løsningen var at bruge et helt script netsrac havde lavet på http://www.eksperten.dk/spm/92292 , men det viste sig at lige netop dette havde han alligevel ikke rettet....så nu åbner jeg måske et nyt magen til spørgsmål........
Har du en løsning er du velkommen til at skrive den og få point!
/Johan
Synes godt om
Slettet bruger
26. juli 2001 - 03:12#6
sorry har jeg ikke, ville bare selv gerne vide det :)
Jamen, brug dog kombinationen af cautoo\'s og jasber\'s løsning:
Et bogmærke lige bagved dit \'snakke\'felt og derefter en focus() på indtastningsfeltet -- det skulle da få den del af vinduet til at være fremme
-- du kunne måske nøjes med focus() på feltet, men det afhænger af hvor meget du har nedenunder vinduesstørrelse og browser kan vælge lidt forskelligt, men hvis den først er gået til bogmærket og indtastningsfeltet er inden for vinduet flytter den sig ikke mere.
Bemærk at jeg skrev focus() på indtastningsfeltet -- og ikke på formen
-- og ideen skulle være, at selv om den vil forsøge at placere bogmærket øverst i browser-vinduet, så kan den jo heller ikke vise mere end der er på siden, så hvis du f.eks. har indtastningsfeltet ved siden af det nederste af dit textarea, når man ser på vinduet og så måske et banner, så kan den jo ikke komme længere.
Hvis du f.eks. har et frameset med to kolonner ved siden af hinanden (eks. i venstre side noget et eller andet + din inputbox og i højre side dit textarea), så kan du i højre frame skrive i body-taggen:
If Application(\"NumUsers\") = 0 Then \' Initialize (or re-initialize) the user list \' and the conversation ReDim temp1(50) ReDim temp2(50) Application(\"users\") = temp1 Application(\"refresh\") = temp2 End If
\' Find an empty spot and add the new user Dim i For i = 1 To 50 If users(i) = \"\" Then users(i) = Session(\"name\") refresh(i) = time Application.Lock Application(\"NumUsers\") = Application(\"NumUsers\") + 1 Application.Unlock Exit For End If Next If i = 51 Then Response.Redirect \"default.asp?vis=toomany\"
\' Put the arrays back in the application vars Application.Lock Application(\"users\") = users Application(\"refresh\") = refresh Application.Unlock
If not IsEmpty(Application(\"conversation\")) Then Application.Lock Application(\"conversation\") = Application(\"conversation\") & \"|\" & \"<b><i>\" & Session(\"name\") & \" [\" & Session(\"start\") & \"-\" &_ session(\"slut\") & \"]\" & \" har tilsluttet sig fællesskabet</b></i><br>\" Application.Unlock End If Response.Redirect \"chat_main.asp\" End If %> </font> </body>
\' Find current user and update his refresh time For i = 1 To 50 If users(i) = Session(\"name\") Then refresh(i) = Time Exit For End If Next
\' Has ANYONE been gone more than 20 seconds? For i = 1 To 50 If users(i) <> \"\" Then If DateDiff(\"s\",refresh(i), Time) > 30 Then Application(\"conversation\") = Application(\"conversation\") & \"|\" & \"<b><i>\" & users(i) & \" [\" & Session(\"start\") & \"-\" &_ session(\"slut\") & \"]\" &_ \" har forladt fællesskabet</b></i><br>\" users(i) = \"\" Application(\"NumUsers\") = Application(\"NumUsers\") - 1 End If End If Next Application.Lock Application(\"users\") = users Application(\"refresh\") = refresh Application.Unlock %> <b>Antal Personer <%=Application(\"NumUsers\")%></b><br> <% For i = 1 To 50 If users(i)<> \"\" Then Response.Write users(i) & \" [\" & Session(\"start\") & \"-\" &_ session(\"slut\") & \"]\" & \"<br>\" End If Next %> </td> </tr> <tr valign=\"bottom\" align=\"center\"> <td align=center colspan=2 height=40> <a href=\"default.asp?vis=chat\" target=\"_parent\"><img src=\"gfx/knap.gif\" width=\"57\" height=\"26\" border=\"0\" alt=\"\" align=\"absmiddle\"></a> </font> </td> </tr> </table> </body> </html>
Kode til \"replik\"- framen
<html> <head> <meta http-equiv=\"refresh\" content=\"3\"> </head> <body bottommargin=\"0\" vlink=#000000 link=#000000 topmargin=\"0\" rightmargin=\"0\" leftmargin=\"0\"> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <td width=\"100%\" height=226 valign=\"bottom\" background=\"gfx\\main.gif\"> <font face=\"Tahoma\" size=\"2\" color=\"#000000\"> <% Dim convo convo = Application(\"conversation\") convoarr = Split(convo, \"|\") If ubound(convoarr) > 25 Then Application.Lock Application(\"conversation\") = \"\" For i = ubound(convoarr) to ubound(convoarr) - 24 Application(\"conversation\") = Application(\"conversation\") & \"|\" & convoarr(i) Next Application.Unlock End if
%> <br> <% convoarr2 = split(convo, \"|\") For i = 1 to 24 If not i > ubound(convoarr2) Then Response.write convoarr(i) End if Next
%> </font> </td> </table>
</body> </html>
Kode til toomany-siden
<HTML> <BODY> <font face=\"Tahoma\" size=\"2\" color=\"#000000\">Desværre, er der for mange glade Bjergetfolk, der prøver at komme til at chatte. Prøv venligst senere<p> <a href=default.asp?vis=chat>Log ind igen!</a></font> </BODY> </HTML>
Synes godt om
Ny brugerNybegynder
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.