Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Антиспам (запрет англоязычных сообщений) (https://javascript.ru/forum/misc/84871-antispam-zapret-angloyazychnykh-soobshhenijj.html)

рони 12.03.2023 09:15

Цитата:

Сообщение от Ubivectel
И тут никак?

вы же сами написали что тут всё нормально фильтрует, меняйте или добавляйте строку 17. тут sesion то есть изначально.

рони 12.03.2023 09:20

Ubivectel,
очередная полная хрень, но будет работать...
document.querySelectorAll(".KIDE_msg_top").forEach(msg => {
        for (let {
            textContent
        } of msg.querySelectorAll("span"))
            if (msg.innerHTML.includes('cd112ab6890ac4fc25030e2bbcbd7e08') && /\w{11,}/g.test(textContent.replace(/\s+/g, ''))) {
                msg.remove();
                break;
            }
    })

рони 12.03.2023 09:22

Ubivectel,
или так если только по сессии
document.querySelectorAll(".KIDE_msg_top").forEach(msg => {
        for (let {
            textContent
        } of msg.querySelectorAll("span"))
            if (msg.innerHTML.includes('cd112ab6890ac4fc25030e2bbcbd7e08')) {
                msg.remove();
                break;
            }
    })

Ubivectel 12.03.2023 09:22

Я уже понял, что так или иначе окончательное решение в PHP, за костыли спасибо! :thanks:

Ubivectel 13.03.2023 08:18

Вопрос как всегда по синтаксису, писать условие для каждой сессии если их надо несколько это дико

if (sesion == ('98fe218f4ea8e120f80cb76756d6fd6f')) return;


Как их правильно перечислить?

рони 13.03.2023 08:56

Ubivectel,

let arrSesion = ['123a','fff3', 'ddd5'];
   if (arrSesion.includes(sesion)) return;

Ubivectel 13.03.2023 10:21

Опять чувствую себя тупым, а тут что делаю не так?

document.querySelectorAll(".KIDE_msg_top").forEach(msg => {
        for (let {
            textContent
        } of msg.querySelectorAll("span"))
        let arrSesions = ['65953456c6bfbbe88159538019814581', '064fdb4c9c8f5a367e2282c700c0640c'];
            if (msg.innerHTML.includes(arrSesions)) {
                msg.remove();
                break;
            }
})

рони 13.03.2023 10:27

Ubivectel,
let arrSesions = ['65953456c6bfbbe88159538019814581', '064fdb4c9c8f5a367e2282c700c0640c'];
   document.querySelectorAll(".KIDE_msg_top").forEach(msg => {
   if(arrSesions.some(sesions => msg.innerHTML.includes(sesions))) msg.remove();
  })

Ubivectel 26.03.2023 13:19

В процессе решения диких задач, мы по сути сделали теневую блокировку, когда пользователь видит свои сообщения, а все остальные нет. Единственное, как-то бы еще добавить, что бы это условие:

let arrSesions = ['65953456c6bfbbe88159538019814581', '064fdb4c9c8f5a367e2282c700c0640c'];
   document.querySelectorAll(".KIDE_msg_top").forEach(msg => {
   if(arrSesions.some(sesions => msg.innerHTML.includes(sesions))) msg.remove();
  })


Не срабатывало, если arrSessions содержит this.sesions

Короче надо, что бы при обновлении страницы, свои сообщения видел только автор :)

рони 26.03.2023 14:10

Ubivectel,
строка 1 смотри пункт #37 остальное элементарно
var sesion = '123';
        let arrSesions = ['65953456c6bfbbe88159538019814581', '064fdb4c9c8f5a367e2282c700c0640c'];
        document.querySelectorAll(".KIDE_msg_top").forEach(msg => {

            if (arrSesions.some(sesions => sesions != sesion && msg.innerHTML.includes(sesions))) msg.remove();
        })


Часовой пояс GMT +3, время: 14:52.