Показать сообщение отдельно
  #1 (permalink)  
Старый 09.08.2023, 08:45
Новичок на форуме
Отправить личное сообщение для kocmohabt228 Посмотреть профиль Найти все сообщения от kocmohabt228
 
Регистрация: 03.08.2023
Сообщений: 6

Как достать значение из поля ввода на mail.ru?
В общем стоит задача написать код на JS, чтобы когда пользователь отправляет письмо не на домен организации (@vtb.uk), то ему вылазит окошко с предупреждением об этом.

const org = '@vtb.uk';

function checkAndWarnRecipient() {
  const sendButton = document.querySelector('[tabindex="570"]');
  if (!sendButton) return;

  sendButton.addEventListener('click', (event) => {
    console.log('Send button clicked');
    const addressNodes = document.querySelectorAll('[tabindex="100"]');
    const value = addressNodes.value
    console.log('Address nodes:', value);
    const addresses = Array.from(addressNodes, (addressNode) =>
      addressNode.textContent || addressNode.value
    );
    console.log('Addresses:', addresses);

    const isValid = addresses.every(
      (address) => !address || address.endsWith(org)
    );
    console.log('IsValid:', isValid);

    if (!isValid) {
      const isConfirmed = window.confirm('WARNING!');
      console.log('Confirmation:', isConfirmed);
      if (!isConfirmed) {
        event.preventDefault();
        event.stopImmediatePropagation();
        event.stopPropagation();
        console.log('Event prevented');
      }
    }
  });
}

checkAndWarnRecipient();

Тестирую прямо в консоли браузера и вот что выдает при отправке на сторонний домен:
Send button clicked
Address nodes: undefined
Addresses: ['']
IsValid: true

Он как-будто не читает поле ввода с адресом или же не достает его значение, а может и не успевает его прочесть. Может ли кто-то зайти на mail.ru и помочь разобраться в чем дело? Буду благодарен за любую помощь!
Название поля ввода выглядит вот так:
<input class="container--H9L5q size_s_compressed--2c-eV" type="text" tabindex="100" value="" style="width: 12px;">
Ответить с цитированием