В общем стоит задача написать код на 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;">