Skalní příznivci chatu pomocí IRC jistě ocení snadnou možnost doplnit do svých stránek IRC klienta. Funkční je sice jen v Internet Exploreru verze 4+, ale i přes toto omezení své užití najde. Ke své funkci využívá ActiveX komponentu MSChat.OCX, která byla ještě donedávna zařazena v galerii Activex Controls.

Přímo v kódu souboru pro chat je zadán název irc serveru a chatovací místnosti. Většina IRC serverů místnost automaticky založí v případě, že místnost neexistuje, je tedy možné mít vlastní místnost – pokud zvolíte dostatečně neobvyklé jméno, je šance, že místnost bude „jen vaše“.

Máte-li prohlížeč IE4+, můžete si vše vyzkoušet (zdroj ukázky).

Vytvoříme stránku s vloženým ActiveX objektem MSChat.OCX:

<?xml version=“1.0″ encoding=“Windows-1250″ ?>
<!DOCTYPE html PUBLIC „-//W3C//DTD XHTML 1.0 Transitional//EN“ „http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=“http://www.w3.org/1999/xhtml“ xml:lang=“cs-CZ“ lang=“cs-CZ“ dir=“ltr“>
  <head>
    <meta http-equiv=“Content-type“ content=“text/html; charset=Windows-1250″ />
    <meta http-equiv=“Content-script-type“ content=“text/vbscript“ />
    <meta http-equiv=“Imagetoolbar“ content=“no“ />
    <meta name=“MSSmartTagsPreventParsing“ content=“true“ />
    <meta name=“Language“ content=“cs-CZ“ />
    <title>IRC Chat</title>
  </head>
  <body style=“background-color:menu; margin:0px; padding:0px; font-size:0.8em; font-family:Arial;“>
    <div>
      <object id=“Chat“ name=“Chat“ classid=“clsid:D6526FE0-E651-11CF-99CB-00C04FD64497″ codebase=“http://fdl.msn.com/public/oc/mschatocx.cab#version=4, 71, 0413, 0″ align=“baseline“ border=“0″ width=“100%“ height=“100%“ standby=“Dowloading the Microsoft MSChat ActiveX Control“ codetype=“application/x-oleobject“>
        <param name=“UIOption“ value=“4095″ />
        <param name=“Appearance“ value=“2″ />
        <param name=“BorderStyle“ value=“2″ />
        <param name=“BackColor“ value=“255″ />
        <param name=“MaxHistoryLength“ value=“32767″ />
      </object>
    </div>
    <div>
      <form name=“WEBChat“ id=“WEBChat“ action=“#“ style=“margin:0px; padding:6px;“>
        <input type=“hidden“ name=“Room“ id=“Room“ value=“mic://irc.cis.vutbr.cz/#interval.cz“ />
        Přezdívka <input type=“text“ name=“Alias“ id=“Alias“ size=“18″ maxlength=“32″ title=“Nick“ />
        <input type=“button“ name=“SwitchBtn“ id=“SwitchBtn“ value=“ Vstoupit do chatu “ onclick=“vbscript: Switch“ />
        <a href=’vbscript: window.alert („Po stisku tlačítka pro vstup vyčkej zeleného zabarvení okna. V průběhu připojování bude okno oranžové. V pravé části okna uvidíš po připojení seznam chatujících. Chat probíhá na irc.cis.vutbr.cz, kanál #interval.cz“)‘>Nápověda</a>
      </form>
    </div>
    <script type=“text/vbscript“ src=“IRCChat.vbs“></script>
  </body>
</html>

Soubor obsahuje jen strohý HTML kód, design si lehce každý přizpůsobí sám. Pod vloženým prvkem ActiveX je formulář pro zadání nicku a tlačítko pro vstup či opuštění chatu. ID formuláře „WEBChat“ slouží zároveň jako tzv. kotva do odkazu pro vstup do chatu, aby bylo řádek pro zadání nicku hned vidět. Chat je totiž nastaven tak, aby vykryl 100 % výšky i šířky okna, a tak by se řádek pro zadání nicku skryl pod spodním okrajem okna. Voláte-li však stránku chatu včetně daného návěští, řádek je ihned vidět (prohlížeč stránku odroluje). Ve skrytém poli formuláře s názvem Room je zadán chatovací server a název kanálu (místnosti). K dispozici má uživatel i jednoduchou nápovědu – po klepnutí na odkaz je aktivován alert s krátkou vysvětlivkou.

Na konci souboru je pak aktivován VBScript IRCChat.vbs, nutný pro ovládání ActiveX prvku:

Sub Switch
  Dim Form
  Set Form = Document.WEBChat
  If (Chat.State = 1) Then
    Chat.EnterRoom Form.Room.Value, „“, Form.Alias.Value, „ANON“, 9, 8
  Else
    If (Chat.State = 2) Then
      Chat.CancelEntering
      Chat.ClearHistory
    Else
      If (Chat.State = 3) Then
        Chat.ExitRoom
        Chat.ClearHistory
      End If
    End If
  End If
End Sub
Sub Chat_OnStateChanged(ByVal NewState)
  If (NewState = 1) Then
    Document.WEBChat.SwitchBtn.Value = “ Vstoupit do chatu “
    Chat.BackColor = 255
  Else
    If (NewState = 2) Then
      Document.WEBChat.SwitchBtn.Value = „Zrušit připojování“
      Chat.BackColor = 33023
    Else
      If (NewState = 3) Then
        Document.WEBChat.SwitchBtn.Value = „Odejít z chatu“
        Chat.BackColor = 49152
      End If
    End If
  End If
End Sub

Ve skriptu jsou definovány dvě procedury – jedna obsluhuje události kliknutí na tlačítko a druhá obsluhuje událost, kterou generuje chat control při změně stavu. Ovládací tlačítko má pak funkci proměnnou v závislosti na aktuálním stavu chat controlu – stav se testuje a podle stavu se vyhodnotí, jaká akce se provede, jaká vlastnost se nastaví objektu chatu. Obsluha události, kterou chat generuje při změně stavu, jen mění barvu orámování okna chatu a text na ovládacím tlačítku.

Nakonec přidejte do svých stránek následující odkaz:

<!–[if IE ]>
<a href=“#“ onclick=“return !window.open(‚IRCCchat.html#WEBChat‘, ‚_ircChat‘,‘ width=760, height=560, directories=no, location=no, menubar=no, status=no, titlebar=no, toolbar=no, resizable=yes‘);“ title=“IRC Chat“>Chat</a>
<![endif]–>

Odkaz se objeví pouze v prohlížeči typu MSIE, což je dáno zvláštním tvarem podmíněného komentáře. Klepnutí na odkaz otevře nové okno s IRC chatem a rovnou naroluje okno tak, aby byl vidět spodní řádek pro zadání nicku a tlačítko pro vstup do chatu.

Uvedený chat neumožňuje všechny služby jako plnohodnotný klient, ovšem pro běžné chatování a šeptání naprosto postačí. Ještě doplňuji, že připojování k některým IRC serverům může trvat i 30 sekund, což může v někom vyvolat dojem, že se nic neděje. Jak již bylo uvedeno, aplikace využívá komponentu MSChat.OCX – tato byla ještě nedávno zařazena v galerii ActiveX Controls. Nyní tam již není – zdá se, že Microsoft nadále nechce tento control podporovat, přestože bez problémů funguje.

Na závěr ještě tip – dohodněte se s autory stránek s podobným obsahem, aby také na své stránky zařadili tento chat a použili stejný název místnosti. Chatujících tak bude více a diskuse bude bohatší. Další servery kromě zde použitého irc.cis.vutbr.cz naleznete na www.irc.cz.

Pozn. red.: Tento článek vyšel poprvé 8. 2. 2002. Původní verze článku a k němu vedené diskuse jsou vám k dispozici v ZIP archivech.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

v

Žádný příspěvek v diskuzi

Odpovědět