Есть ли обходной путь, позволяющий отображать запрос браузера перед выгрузкой, когда пользователь не взаимодействовал с Html

Программисты Html
Anonymous
Есть ли обходной путь, позволяющий отображать запрос браузера перед выгрузкой, когда пользователь не взаимодействовал с

Сообщение Anonymous »

Да, как сообщается в MDN, браузер будет отображать диалоговое окно только в том случае, если фрейм или любой встроенный фрейм получает жест пользователя или взаимодействие с пользователем. Но мне интересно, нашло ли ИТ-сообщество какой-то особый способ заставить это работать.
Потому что, когда мой веб-сайт перезагружается, он вызывает множество HTTP-запросов, Firebase, MQTT и т. д., поэтому его можно легко рассылать спамом, если кто-то продолжает перезагружаться постоянно. Тогда это может привести к D-DOS.
Мой пример кода находится здесь: https://codesandbox.io/p/sandbox/4h83jq ... 3A117%2C26
Я уже пробовал при загрузке страницы установить какое-то значение для текстовой области, а затем сосредоточиться на текстовой области, как настоящий пользователь. Но это не работает.
window.addEventListener("beforeunload", function (e) {
// if (!isDirty) return undefined;
e.preventDefault();
e.returnValue = "";
return "";
});

window.addEventListener("DOMContentLoaded", async () => {
const textarea = document.getElementById("desc");

if (textarea) {
textarea.value = "Default value";
}
await new Promise((resolve) => {
setTimeout(() => {
resolve();
}, 1000);
});
textarea.focus();
});


Подробнее здесь: https://stackoverflow.com/questions/797 ... as-not-int

Вернуться в «Html»