ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

FAQ 2.0 - вопросы и ответы (не флудить!)

 

7094
Dim @Render
Богиня пишет:

Здрасте, в чем может быть дело? Через некоторое время ник у участника исчезает. Сидит черех Хром. У других чатлан его ник виден.
**********

Не так давно у одного чатика была схожая проблема. В хроме есть баг если используется прозрачность вида :hover{filter:alpha(opacity=90); -moz-opacity:0.9; -khtml-opacity:0.9; opacity:0.9;}
Воспроизводится он не сразу, а может появиться через 15-30 минут активного общения в чате, при наведении мыши, начинает пропадать ник или текст сообщения.
Лечится удалением прозрачности у :hover.

967
Lefna @Богиня
Вроде прозрачность нигде не ставила.. ладно, спасибо, посмотрю
P.S: Прозрачности нет, но прописан градиент через css, из-за этого может быть?

Отредактировано Богиня - 24.10.2015
2970
удалён @Foggy
Богиня, собственно, на данном скрине градиента на сообщениях нет, так что он, видимо, ещё и не работает. А раз не работает, то точно стоит удалить))) А если речь про градиент на логе сообщений, то он не должен мешать, если нет ошибок css.
Ссылка на чат поможет решить проблему.

967
Lefna @Богиня
Ссылка на чат **********

415
Денис @FeNIX74
Web3r, Спасибо)

Есть смайлы выводятся изображением а при нажатии на них вставляется код в строку ввода. onclick="parent.sendto(' *17 '); return false;" вопрос как сделать чтоб по нажатию они сразу же отправлялись в чат?

И еще вопрос как при выборе в селекторе cmd к примеру document.write("<option value='/test ' style=background-color:#6190b0;'>тест"); в поле tonick автоматически вставлялось ВСЕМ: ?
Пробовал так не получается. document.write("<option value='/test ' onclick='parent.tonick('ВСЕМ: '); return false;' style=background-color:#6190b0;'>тест");

Отредактировано FeNIX74 - 24.10.2015
4619
Web3r @Web3r
Есть смайлы выводятся изображением а при нажатии на них вставляется код в строку ввода. onclick="parent.sendto(' *17 '); return false;" вопрос как сделать чтоб по нажатию они сразу же отправлялись в чат?

Отсылать по onclick напрямую: onclick="parent.hidden.location.href = '?inc=write&'+parent.yourkey+'&text=*17'; return false;"

document.write("<option value='/test ' onclick='parent.tonick('ВСЕМ: '); return false;' style=background-color:#6190b0;'>тест");

Правильно, но с кавычками напутал.

415
Денис @FeNIX74
Web3r,
Отсылать по onclick напрямую: onclick="parent.hidden.location.href = '?inc=write&'+parent.yourkey+'&text=*17'; return false;"

Спасибо)))

А, вот на счет кавычек в кмд. Пробовал даже так - document.write("<option value='/test ' onclick=\"parent.tonick('ВСЕМ: '); return false;\" style=background-color:#6190b0;'>тест");
Увы так же не работает(

7094
Dim @Render
document.write("<option value='/test ' onclick='parent.tonick(\"ВСЕМ: \"); return false;' style='background-color:#6190b0;'>тест");

2970
удалён @Foggy
Богиня, я не сумел воспроизвести ситуацию.

415
Денис @FeNIX74
Render, увы но так же не вставляет в тониск.

4619
Web3r @Web3r
FeNIX74, в обработчике тогда дело. Сам по себе <option> ни с onclick, ни с onchange не работает. Тут через JS обрабатывать надо. По такому принципу, например:
<select name='cmd' onchange='if(this.value == "/test ") parent.tonick("ВСЕМ: ");'>
<option value='/test '>

Отредактировано Web3r - 25.10.2015
415
Денис @FeNIX74
Web3r, О уже есть продвижение. Теперь в тониск ставит ВCЕМ: а вот в поле cmd так и остается первый option тобишь document.write("<option value='' style='color: #A9A9A9;'>-=в общем=-"); не ставится тест.


967
Lefna @Богиня
Опять повторение ситуации... Только сейчас ник пропал другого чатланина.
Скрин с F12

2970
удалён @Foggy
скрин вообще ничего не дал) в следующий раз попробуй нажать как на скрине вначале на выбор элемента, а потом на сам элемент.
[spoiler=скрин]
[/spoiler]

318
Алекс @Рой31
FeNIX74 пишет:

Web3r, Спасибо)

Есть смайлы выводятся изображением а при нажатии на них вставляется код в строку ввода. onclick="parent.sendto(' *17 '); return false;" вопрос как сделать чтоб по нажатию они сразу же отправлялись в чат?

И еще вопрос как при выборе в селекторе cmd к примеру document.write("<option value='/test ' style=background-color:#6190b0;'>тест"); в поле tonick автоматически вставлялось ВСЕМ: ?
Пробовал так не получается. document.write("<option value='/test ' onclick='parent.tonick('ВСЕМ: '); return false;' style=background-color:#6190b0;'>тест");

<!-- CHAT FRAME -->
в селектор
document.write("<option value='/test ' style=background-color:#6190b0;'>тест");

А в скрипты в чате
/* Проверка пользовательских команд для простого сообщения */

text=text.replace("/test", "Всем:");

В поле tonick правда не будет но Всем: писать будет

Отредактировано Рой31 - 26.10.2015
415
Денис @FeNIX74
Рой31, По пробую пояснить для чего мне это.
Стояла задача сделать в селекторе команду (для статуса DJ Радио) при выборе которой в поле тониск вставлялось ВСЕМ: и в поле ввода сообщения код смайла.

В поле tonick правда не будет но Всем: писать будет

Увы. выводиться просто как текст сообщения т.е. не выделяет как когда выберешь ВСЕМ:

По пробовал сделать так:

<!-- CHAT FRAME -->
document.write("<select name=cmd onchange='if(this.value == \"/efir \") parent.tonick(\"ВСЕМ: \"); document.fmsg.text0.focus();document.fmsg.text0.value=document.fmsg.text0.value=\"*efir \";'>");
document.write("<option value='/efir ' style=background-color:#6190b0;'>В Эфире");

Все вроде заработало как было задумано. Но тут нашлась проблема - при выборе других пользовательских команд в тониск вставляется ВСЕМ и в поле код смайла...

Подскажите может есть какое нить альтернативное решение чем мое гавно-решение:D

2615
Сергей @Pegass
document.write("<select name=cmd onchange='if(this.value == \"/efir \") {tonick(\"ВСЕМ: \"); document.fmsg.text0.focus();document.fmsg.text0.value=\"*efir \";}'>");

415
Денис @FeNIX74
Было бы не плохо такое внедрить в никлист в чат внутри.

https://vmeste.eu/forum?pid=213357#p213357

4619
Web3r @Web3r
FeNIX74 пишет:

Было бы не плохо такое внедрить в никлист в чат внутри.

https://vmeste.eu/forum?pid=213357#p213357

От этого нет никакой практической пользы, да и в рил-тайм режиме обновление полоски не реализовать.
Как будет определяться, сколько сообщений написано юзером? Считать их в логе?

4619
Web3r @Web3r
Так получилось, что на форуме смайлы пришлось вывести через объект. Не знаю, правильно ли сделал с т.з. производительности, но вывод var smiles работает.

var sm = {'1':'0','2':'17','3':'34','4':'51','5':'68','6':'85','7':'102','8':'119','9':'136','10':'153','11':'170','12':'187','13':'204','14':'221','15':'238','16':'255','17':'272','18':'289','19':'306','20':'323','21':'340','22':'357','23':'374','24':'391','25':'408','26':'425','27':'442','28':'459','29':'476','30':'493','31':'510','32':'527'}; /* номер_смайла : координата_спрайта */
var smiles="";
for(i in sm) smiles+="<span role='img' class='emoji' style='background-position: 0 -"+sm[i]+"px' onclick='put(this.dataset.num)' data-num=' *"+i+" '></span>";

Далее функция замены смайлов. Со скудными знаниями массивов здесь и застрял. Имеется следующее:

for(k=0;k<a.length;k++) {
for(j=0;j<sm.length;j++) if(a[k]==sm[j][0]) a[k]="<span role='img' class='emoji' style='background-position: 0 -"+sm[i]+"px'></span>";
}

Как определить sm.length? Как вообще правильно написать цикл, чтобы он работал?