Avatar billede wiesemarc Nybegynder
16. februar 2003 - 23:13 Der er 11 kommentarer og
1 løsning

CHAT hjælp ????

Jeg ved ikke rigtigt hvordan jeg får min chat til at ud skrive i en andre frame...
Koden har jeg indtil videre er =

<%
    font                    = "<font face='Garamond' size='3'>"
    page_header                = ""
    response.buffer     = false
    logoff_url         = ""
    antal_linier     = 10
    max_nicks         = 30
    mode = request.form("mode")

        response.write "<html><head><script language='JavaScript'><!--" & vbcrlf
        response.write "  function ClearAndFocus() {" & vbcrlf
        response.write "    document.getname.tmptext.focus();" & vbcrlf
        response.write "    document.getname.Besked.value = document.getname.tmptext.value;" & vbcrlf
        response.write "    document.getname.tmptext.value = '';" & vbcrlf
        response.write "  }" & vbcrlf
        response.write "--></script></head>"

        response.write "<body onload='java script:document.getname.tmptext.focus();'>" & font
        response.write "<form name='getname' action='c.asp' Method='Post' onSubmit='ClearAndFocus();'>"
        response.write "<input type='hidden' name='mode' value='send'>"
        response.write "<input type='hidden' name='Besked'>Besked : "
        response.write "<input type='text' name='tmptext' size='35'>&nbsp;<input type='submit' value='Send'>"
        response.write "</form>"
        response.write "</font><!--" & vbcrlf
        response.write "    document.getname.tmptext.focus" & vbcrlf
        response.write "--></body></html>" & vbcrlf

       
        strBesked = request.form("Besked")
        arrCmds = Split(strBesked, " ")
        strTo  = Request("writeto")

        for x = antal_linier to 2 step -1
            application("line_" & x) = application("line_" & x-1)
        next

If Len(strBesked) > 0 Then


    If arrCmds(0) = "/think" Then
        application("line_1") = "<font face='Tahoma, Arial' color=" & strTextColor & ">" & strFaceType & "*" & strUsername & " . . o o O O ( " & Comb(arrCmds, 1) & " ) *" & strNoFaceType & "</font>"
    else
        application("line_1") = "<b><font color='" & text_color & "'>" & Comb(arrCmds, 0) & "</b></font>"
    end if
end if

    Sub FlushLines()
        Application.Lock
            For x = 1 To antal_linier
                Application("line_" & x) = ""
            Next
        Application.UnLock
    End Sub

    Function Comb(text1, text2)
        For intArrayIndex = text2 To UBound(text1)
            strArr = text1(intArrayIndex): If strArr = "" Then strArr = " "
            strComb = strComb & " " & strArr
        Next
        Comb = LTrim(RTrim(strComb))
    End Function



<b>Her udskrive den det...
Men hvordan får jeg den til at gøre det i et andet vindue...</b>


    for x = 1 to antal_linier
        response.write "<body bgcolor='' text=black link=black alink=black vlink=black topmargin='10' leftmargin='10'>" & font
        if session("debug") = "Yes" Then
            response.write "application(line_"& x & ")" & application("line_" & x) & "<br>"
        else
            response.write application("line_" & x) & "<br>"
        end if
    next

%>
Avatar billede humlebidk Nybegynder
17. februar 2003 - 11:26 #1
nu ved jeg ikke lige hvad du har gang i, men ideen bag en chat er at du har et indtastningsvindue, som hele tiden sender til sig selv samt opdaterer en database. chatvinduet henter så linjerne fra databasen og viser teksten. hvis du skal sende noget fra et vindue til et andet med javascript, så skal du bruge noget der begynder således: parent.Navn_På_Andet_Vindue, men det er ikke noget der kan ses af andre brugere generelt. du kommer ikke videre i din chat, hvis du ikke får koblet en database på.
Avatar billede humlebidk Nybegynder
17. februar 2003 - 11:27 #2
du kunne evt gøre samme trick ved at skrive til en tekstfil, men der skal du nok tjekke at host-serveren tillader dette.
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 11:45 #3
Nu vil jeg have gøre så det bliver overført i det andet vindue via javascript..
Avatar billede medions Nybegynder
17. februar 2003 - 12:23 #4
Er det kun din tekst du vil ha' over i en anden frame, så kan du i din frame lave en <div> tag som du kan kalde gennem JavaScript!

Fx.

parent.document.getElementById("ChatIndex").innerHTML = '<%= application("line_" & x-1) %>';

//>Rune
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 12:51 #5
parent.document.getElementById("ChatIndex").innerHTML = '<%= application("line_" & x-1) %>';

Hvordan fungere denne, og hvad skal der puttes ind med den ??? Og hvor ?
Avatar billede medions Nybegynder
17. februar 2003 - 12:53 #6
Prøv at gå ind i JavaScript kategorien og søg på frames så kan du læse dig til det og gennem eksempler!

//>Rune
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 12:54 #7
Okay.. Prøver dette..
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 13:02 #8
Hvad er ("ChatIndex") er det en frame eller Div ????
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 13:04 #9
Fandt denne her.. Men den fungere ikke...

<script language="JavaScript">
<!--
    var ie55=(parseInt(navigator.appVersion)>4 && parseInt(navigator.appMinorVersion)>4) ? true:false;
    var contentTimer;
    window.onerror=handleerr;

    function handleerr() {
        contentTimer=setTimeout("showcontent();", 1000);
    }
       
    function showcontent() {
        var cnt = "<%=writechat%>";

        if (parent.chat_frame.document.readyState == "complete") {
            parent.chat_frame.cnt.innerHTML = cnt;
            clearTimeout(contentTimer);
        } else {
            contentTimer=setTimeout("showcontent();", 1000);
        }
    }
    showcontent();
-->
</script>


Og selv om at jeg laver dette:

for x = 1 to antal_linier
        response.write "<body bgcolor='' text=black link=black alink=black vlink=black topmargin='10' leftmargin='10'>" & font
        if session("debug") = "Yes" Then
            response.write "application(line_"& x & ")" & application("line_" & x) & "<br>"
        else
            response.write application("line_" & x) & "<br>"
        end if
    next

Om til en funktion....

Jeg er næsten kørt død..
Avatar billede medions Nybegynder
17. februar 2003 - 13:44 #10
Det er dit ID på din div!

fx.

<div id="ChatIndex"></div>

//>Rune
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 15:09 #11
<%
    font                    = "<font face='Garamond' size='3'>"
    page_header                = "Wiese Chat"
    page_bgcolor            = "#FFFFFF"
    page_logoncolor            = "#000000"
    page_logoffcolor            = "#000000"
    dato_color                = "#000000"
    text_color                = "#000000"
    action_color            = "#800080"
    chngnick_color            = "#008000"
    quit_color                = "#0000A0"
    join_color                = "#008000"
    response.buffer     = false
    logoff_url         = "http://127.0.0.1/test/Array/"
    antal_linier     = 10
    max_nicks         = 30
    mode = request("mode")
    wiese = request.form("wiese")
if mode = "" then

%>
<html>
<head>
<title><% = page_header %></title>
</head>
<frameset framespacing="0" border="1" frameborder="1" rows="*,170">
  <frameset cols="*,20%">
    <frame src="c.asp?mode=chat_frame"     name="chat_frame">
    <frame src="c.asp?mode=online"         name="online_frame" scrolling="auto" noresize></frameset><frameset cols="*,20%">
    <frame src="c.asp?mode=message"     name="name_frame" scrolling="auto">
    <frame src="c.asp?mode=update"         name="update" scrolling="auto" noresize>
  </frameset>
  <noframes>
  <body>
  </body>
  </noframes>
</frameset>
</html>
<%
    elseif mode = "online" then
    elseif mode = "update" then

if wiese = "send" then
        strBesked = request.form("message")
        arrCmds = Split(strBesked, " ")
        strTo  = Request("writeto")

        for x = antal_linier to 2 step -1
            application("line_" & x) = application("line_" & x-1)
        next

If Len(strBesked) > 0 Then

    application("line_1") = "<b><font color='" & text_color & "'>" & Comb(arrCmds, 0) & "</b></font>"

end if
end if
    Sub FlushLines()
        Application.Lock
            For x = 1 To antal_linier
                Application("line_" & x) = ""
            Next
        Application.UnLock
    End Sub

    ' ----------------------------------------------------
    ' udskriver alle chat linier på chat vinduet
    ' ----------------------------------------------------

    Function Comb(text1, text2)
        For intArrayIndex = text2 To UBound(text1)
            strArr = text1(intArrayIndex): If strArr = "" Then strArr = " "
            strComb = strComb & " " & strArr
        Next
        Comb = LTrim(RTrim(strComb))
    End Function



    function writechat
    for x = 1 to antal_linier
        response.write "<body bgcolor='" & page_bgcolor & "' text=black link=black alink=black vlink=black topmargin='10' leftmargin='10'>" & font
        if session("debug") = "Yes" Then
            response.write "application(line_"& x & ")" & application("line_" & x) & "<br>"
        else
            response.write application("line_" & x) & "<br>"
        end if
    next
    end function
%>
    <link rel="stylesheet" type="text/css" href="chat.css">
    <script language="JavaScript">
        <!--
            parent.document.getElementById("ChatIndex").innerHTML = '<%= application("line_" & x-1) %>';
        -->
    </script>


<% elseif mode = "chat_frame" then %>
<div id="ChatIndex"></div>

<% End If %>


Hvad er der i vejen... Den gider ikke at vise noget tekst...
Avatar billede wiesemarc Nybegynder
17. februar 2003 - 20:06 #12
Ingen brugbare svar....
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
Kurser inden for grundlæggende programmering

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