IRC chat v Internet Exploreru
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
Mohlo by vás také zajímat
-
Responzivní design: Proč by ho neměl ignorovat žádný vývojář?
27. listopadu 2023 -
Globální výpadek IT systémů: Může za to jediná aktualizace
19. července 2024 -
Aukce CZ domén: Jak vydražit expirovanou CZ doménu?
12. června 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024