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

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

 

20090
Dimitry @Dimitry
for(i in sm) smile=sm[i];

2615
Сергей @Pegass
первое
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(i in sm) { if(!sm.hasOwnProperty(i)){continue;} 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 in sm) {//бродим таким циклом
if(!sm.hasOwnProperty(j)){continue;}
if(a[k]==j) {//потому что номер смайла это j
a[k]="<span role='img' class='emoji' style='background-position: 0 -"+sm[j]+"px' data-num=' *"+j+" '></span>";//код взят из первой части за вычетом события onclick
break;//т.к. нашли замену для текущей части заканчиваем пробег по массиву смайлов и переходим к следующей части сообщения
}
}
}

2615
Сергей @Pegass
UP вот только кажись кто-то со звёздочкой накосячил думаю в качестве решения сойдёт небольшая доработка

if(a[k]==('*'+j)) {//потому что номер смайла это j

PS
осознав написанное решил что сделана хрень)))

js
a[k]="<span role='img' class='emoji' data-num=' *"+j+" '></span>";
css
.emoji [data-num="*1"]{
background-position: 0px 0px;
}
.emoji [data-num="*2"]{
background-position: 0px -17px;
}
/*бла бла бла*/

.emoji [data-num="*32"]{
background-position: 0px -527px;
}

4619
Web3r @Web3r
Pegass пишет:

UP вот только кажись кто-то со звёздочкой накосячил думаю в качестве решения сойдёт небольшая доработка

Да, забыл добавить в объект...
var sm = {'*1':'0','*2':'17','*3':'34'... // работает.
Еще раз спасибо. 😀

3910
Дмитрий @Q-Tec
не помню точно, было ли решение на форуме или нет, что бы по ссылке темы на форуме переходило сразу на последнее добавленное сообщение
не подскажите?

2970
удалён @Foggy
было, можно было и поискать.

3910
Дмитрий @Q-Tec
Foggy пишет:

было, можно было и поискать.

Запутался во всех темах уже, где и что (:
Эхх.. это для информера, мне для самого форума надо

2970
удалён @Foggy
Что-то я и сам не нашёл. Хотя недолго искал. Вот тут в шестом пункте есть немного про то, как в списке форумов добавить ссылки на последнюю активную тему.

А вот как добавить ссылку на последнее активное сообщение из списка тем:
Находишь в форуме
/* ЧАСТЬ ВТОРАЯ */
/* Отображение тем в форуме */

Там есть формирование topics[i]=
Вот внутри него можно вставить переменную f_t[i][6], в ней хранится id сообщения. Вот вырезка из моего форума:
<a href='?inc=forum&forum="+f_t[i][11]+"&topic="+f_t[i][0]+"&site="+Math.ceil(f_t[i][6]/10)+"#"+f_t[i][6]+"'>"+f_t[i][5]+"</a>

Не забыть сделать пункт 2 отсюда.

3910
Дмитрий @Q-Tec
Foggy, да из списка тем в категории переходит нормально.
Но с главной страницы на последние сообщения не переходит, потому что нет такой переменной которая бы знала последние сообщение на главной (по крайне мере я не нашёл) странице форума, надо наверное в php лезть -_0


Кому будет интересно - добавить красное


[quote=Переход с главной страницы форума на последнею страницу темы]/* Загрузка форумов и селекта быстрого перехода, проверка доступа */
lasttopic=""; if(f_f[i][11]) lasttopic="<a href=?inc=forum&forum="+f_f[i][0]+"&topic="+f_f[i][11]+"&site="+Math.floor(f_f[i][7]/10)+">"+f_f[i][12]+"</a><br>"+f_f[i][5]+" от "+f_f[i][4]+"";[/quote]
[quote=Переход из категории форума на последнею страницу и сообщение]/* ЧАСТЬ ВТОРАЯ */
/* Отображение тем в форуме */
topics[i]="<tr><td width=20><div class="+icon+"></div></td><td align=left>"+is_moved+" <a href=?inc=forum&forum="+f_t[i][11]+"&topic="+f_t[i][0]+"&site="+Math.floor(f_t[i][6]/10)+"#"+f_t[i][6]+">"+f_t[i][1]+"</a> от "+f_t[i][2]+" "+t_links+"<br> "+mod+" </td><td align=center> "+f_t[i][6]+"</td><td>"+f_t[i][5]+" От "+f_t[i][4]+" </td></tr>";[/quote]

Отредактировано Q-Tec - 14.11.2015
2970
удалён @Foggy
Это можно, конечно, сделать с информером, но там извращение на извращении будет.

Дим, может добавишь людям переменную для f_f[13]?

3910
Дмитрий @Q-Tec
А лучше вообще форум на mysql перевести 😊

415
Денис @FeNIX74
Как исходя этого сделать звуки в мобильной версии?
На что вещать sound_msg_play(cmd) ?

415
Денис @FeNIX74
FeNIX74 пишет:

Как исходя этого сделать звуки в мобильной версии?
На что вещать sound_msg_play(cmd) ?

Подскажет кто нить?

2970
удалён @Foggy
точно также как и в обычной версии же.
а зачем тебе звуки в мобильной версии? хочется издеваться над пользователями? сколько весят звуки в твоём чате?

415
Денис @FeNIX74
Foggy, Ну я пробовал точно так же. только функцию звуков поставил перед var loaded=0; var u=new Array(); и делал вот так if(cmd==0 && sound_msg_play(cmd)) . Может не на то вешаю.
Звуки мне затем чтоб пользователи зашедшие с планшетов получали звуковое уведомление. Звук весит 31кб.

2615
Сергей @Pegass
FeNIX74 пишет:

if(cmd==0 && sound_msg_play(cmd)) .

ты прежде чем это написать что курил? полынь?
if(cmd==0{sound_msg_play(cmd);//далее по коду

2970
удалён @Foggy
FeNIX74, пора тебе вникать в структуру скриптов. там есть основная функция вывода сообщений, находится после такого комментария
/* [Функция - вывода сообщений и команд] */
и называется function f
вот в неё приходит переменная cmd.
проверять вне этой функции cmd == 0 бесполезно, потому что вне этой функции нет никакого cmd. да и с чего вдруг ты решил выводить звук о сообщении вне вывода сообщения?
в скрипте, ссылку на который ты кинул, это делается как раз там.

в мобильной версии тоже есть эта функция f. и в ней есть if(cmd == 0), то есть вывод простого сообщения.
if(cmd==0) wr(symbol+set_nick+": "+text+" ("+time+")");
из этого можно сделать просто
if(cmd==0) {
wr(symbol+set_nick+": "+text+" ("+time+")");
sound_msg_play(cmd);
}
и также можно с любым cmd.

p.s. и функция должна быть именно там, где описана у пегаса. позже вполне может не сработать.

Отредактировано Foggy - 23.11.2015
2615
Сергей @Pegass
Функция может быть в любом месте, ибо по логике запускается после onload))))

2970
удалён @Foggy
Если её писать туда, куда надо, то да) но мало ли зачем и как её ещё захочется безумным умам использовать 😁

415
Денис @FeNIX74
Foggy, Ну даже в функции f. Не работает... и сделал с кмд как вы написали все равно не робит((

Отредактировано FeNIX74 - 23.11.2015