|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.02.2009, 20:03 | #1 |
Регистрация: 20.02.2009
Сообщений: 3
|
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется
Есть чат на яваскрипте там я не могу поставит знак +;
Хотя люди его как то там ставят, просто мой знак + заменяется пробелом. на сколько я понимаю стоят фильтры Может в коде что изменить??? помогите плиз |
22.02.2009, 02:11 | #2 |
Пользователь Подтвердите свой е-майл
Регистрация: 02.01.2007
Сообщений: 62
|
Я так понимаю тут люди экстрасенсы? Как можно без кода найти фильтр.)) И фильтр по идеи не на клиентской стороне должен быть (JS), а на сервере.
|
22.02.2009, 05:45 | #3 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Автор, если в следующем вашем посте не будет наглядного примера с кодом, тема будет считаться за флуд со всеми вытекающими обстоятельствами.
|
23.02.2009, 07:54 | #4 |
Регистрация: 20.02.2009
Сообщений: 3
|
ВОТ САМ КОД:
Код HTML:
[[scroll]<body leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0" bgcolor="#CAC9C6" scroll="no" style="border-top: 3px solid black;"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <style> .users td{FONT-FAMILY: Tahoma; padding-left:5px; font-size:9px;} .chat td{FONT-FAMILY: Tahoma; padding-left:5px; font-size:9px;} .chat td#r1{ width:40px;} .chat td#r2{ font-weight:bold;} .m_text {border: 1px solid black; width: 100%;} .m_but {border: 1px solid black; height: 20px;width: 100px;} .m_del {border: 1px solid black; height: 20px;width: 20px;} .blocked {text-decoration: line-through;} .private {color:#0000FF;} </style> <table border="1" height="100%" width="100%"> <tr> <td width="100%"> <div id="main" style='width:100%; height: 100%; overflow:auto; border: 1px solid black; background-color:#FFFFFF;'> <table id="chat" class="chat" border=0 cellpadding="0" cellspacing="0"> <tr><td id="r1">Время</td><td id="r2">Ник</td><td id="r3">Сообщение</td></tr> </table> </div> </td> <td width="200"> <div id="right" style='width:150px; height: 100%; overflow:auto; border: 1px solid black; background-color:#FFFFFF;'> <table id="users" border=0 cellpadding="0" cellspacing="0" class="users"> <tr><td>Ждите</td><tr> </table> </div> </td> </tr> <tr><td colspan="2" height="20"><input class="m_text" id="message" type="text" onKeyDown="javascript:CheckEnter(event);"/></td> </tr> </table> <script language="javascript"> var fromid=0; var getuserspart="&getusers=1"; var msgpart=""; function ScrollDown() { main.scrollTop = main.scrollHeight; } function CheckEnter(e) { //alert(e.keyCode); keynum = e.keyCode; if(keynum==13) { SendMsg(message.value); message.value=''; } } function SendMsg(msg) { msgpart="&msg="+escape(msg); doReqChat(xmlRequest); } function InsertNick(nick) { message.value=message.value+nick; } function AddMsg(ts,nick,msg,type,tid) { var obj_chat=document.all.chat; var row = obj_chat.insertRow(-1); var cell = row.insertCell(0); cell.id="r1"; cell.innerHTML=ts; var cell = row.insertCell(1); cell.onclick = "alert(23);"; cell.id="r2"; if(type==2 || type==1) nick="<span class='private'>"+nick+"</span>"; cell.innerHTML="<div style='cursor:hand;' onclick=\"InsertNick('"+nick+"')\">"+nick+"</div>"; var cell = row.insertCell(2); cell.id="r3"; if(type==2) msg="-><b><span class='private'>"+tid+"</span>: "+msg+"</b>"; cell.innerHTML=msg; CutMessages(); ScrollDown(); } function AddUser(nick,type,daycredits) { var obj_userlist=document.all.users; var row = obj_userlist.insertRow(-1); var cell = row.insertCell(0); if(typeof daycredits== 'undefined') daycredits=0; //ICON 0 - surfer; 1 - regular in chat; 2 - moderator in chat; 3 - superuser in chat; 4 - blocked if(typeof type== 'undefined') type=0; var icon="<img width=11 height=10 src='ico_rotarrows.gif'>"; if(type==1) icon="<img width=11 height=10 src='ico_chat.gif'>"; if(type==2) icon="<img width=11 height=10 src='ico_admin.gif'>"; if(type==3) { icon="<img width=11 height=10 src='ico_star.gif'>"; nick="<b>"+nick+"</b>"; } if(type==4) { icon="<img width=11 height=10 src='ico_blocked.gif'>"; nick="<span class='blocked'>"+nick+"</span>"; } cell.innerHTML=icon+" ("+daycredits+") "+nick; } function ClearUserlist() { var obj_userlist=document.all.users; var newPlane = obj_userlist.cloneNode(false); // no child nodes; obj_userlist.parentNode.replaceChild(newPlane,obj_userlist); } function ClearChat() { var obj_chat=document.all.chat; var newPlane = obj_chat.cloneNode(false); // no child nodes; obj_chat.parentNode.replaceChild(newPlane,obj_chat); } function CutMessages() { var obj_chat=document.all.chat; while (obj_chat.rows.length >= 50) { obj_chat.firstChild.removeChild(obj_chat.firstChild.firstChild); } function KeysON() { //alert('dd2'); } // Инициализируем таблицу перевода var trans = []; for (var i = 0x410; i <= 0x44F; i++) trans[i] = i - 0x350; // А-Яа-я trans[0x401] = 0xA8; // Ё trans[0x451] = 0xB8; // ё // Сохраняем стандартную функцию escape() var escapeOrig = window.escape; // Переопределяем функцию escape() window.escape = function(str) { var ret = []; // Составляем массив кодов символов, попутно переводим кириллицу for (var i = 0; i < str.length; i++) { var n = str.charCodeAt(i); if (typeof trans[n] != 'undefined') n = trans[n]; if (n <= 0xFF) ret.push(n); } return escapeOrig(String.fromCharCode.apply(null, ret)); } } Последний раз редактировалось SkyM@n; 23.02.2009 в 11:25. |
23.02.2009, 07:55 | #5 |
Регистрация: 20.02.2009
Сообщений: 3
|
ПРОДОЛЖЕНИЕ:
Код HTML:
function getVar(name) { get_string = document.location.search; return_value = ''; do { //This loop is made to catch all instances of any get variable. name_index = get_string.indexOf(name + '='); if(name_index != -1) { get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index); end_of_value = get_string.indexOf('&'); if(end_of_value != -1) value = get_string.substr(0, end_of_value); else value = get_string; if(return_value == '' || value == '') return_value += value; else return_value += ', ' + value; } } while(name_index != -1) //Restores all the blank spaces. space = return_value.indexOf('+'); while(space != -1) { return_value = return_value.substr(0, space) + ' ' + return_value.substr(space + 1, return_value.length); space = return_value.indexOf('+'); } return(return_value); } function initChat() { sess_id=getVar("sess"); setInterval(function(){doReqUsers();},60000); setInterval(function(){doReqChat(xmlRequest);},30000); doReqChat(xmlRequest); } function doReqUsers() { getuserspart="&getusers=1"; } function doReqChat(xmlRequest) { //alert('drc'); var now = new Date(); var frompart=""; if(fromid>0) frompart="&fromid="+fromid; var url="http://www.vipspace.net/core/chat/chat.php?sess="+sess_id+frompart+getuserspart+msgpart+"&"+now; getuserspart=""; msgpart=""; xmlRequest.open("GET", url, true); xmlRequest.setRequestHeader("Content-Type", "application/x-www-formurlencoded"); xmlRequest.onreadystatechange = function(){PollChat(xmlRequest);}; xmlRequest.send(); } function PollChat(xmlhttp) { if (xmlhttp.readyState === 4) { var statusCode = xmlhttp.status; if (!((statusCode < 200) || (statusCode >= 300))){ var xmlDoc=xmlhttp.responseXML; //alert(xmlhttp.responseText); var msgs=xmlDoc.getElementsByTagName("chat"); processResponse(xmlhttp); }else{ AddMsg("00:00:00","ipSPACE bot","Нет интернет соединения",1,0); //alert ("error poll"); } } }; function getNodeValue(obj,tag) { try { return obj.getElementsByTagName(tag)[0].firstChild.nodeValue; } catch(e) { return ""; } } function processResponse(xmlHttp) { var xmlDoc=xmlHttp.responseXML; var msgs=xmlDoc.getElementsByTagName("i"); for (var i=0;i<msgs.length;i++) { tid=""; if(getNodeValue(msgs[i],'type')==2) tid=getNodeValue(msgs[i],'tid'); AddMsg(getNodeValue(msgs[i],'t'),getNodeValue(msgs[i],'l_f'),getNodeValue(msgs[i],'msg'),getNodeValue(msgs[i],'type'),tid); fromid=getNodeValue(msgs[i],'id'); } var users=xmlDoc.getElementsByTagName("u"); if(users.length>0) ClearUserlist(); for (var i=0;i<users.length;i++) { // function AddUser(nick,type,daycredits) AddUser(getNodeValue(users[i],'l'),getNodeValue(users[i],'st'),getNodeValue(users[i],'dc')); } //alert ("FID="+fromid); } var xmlRequest = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Msxml2.XMLHTTP"); initChat(); </script>/scroll] Последний раз редактировалось SkyM@n; 23.02.2009 в 11:24. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определить, сколько раз в последовательности меняется знак | Siroga35 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 22.01.2009 12:25 |
Знак не равенства. | IVANSour | Общие вопросы Delphi | 1 | 20.01.2009 06:53 |
Е - это знак суммы | nikedenis | Фриланс | 7 | 03.01.2009 19:52 |
Конвертирование из поля Edit в нормальный знак. | alikon1 | Общие вопросы Delphi | 11 | 27.11.2007 22:53 |
Паскаль. Программа - Ваш знак зодиака | Vanet | Помощь студентам | 5 | 11.10.2007 21:11 |