Есть ли обходной путь, позволяющий отображать запрос браузера перед выгрузкой, когда пользователь не взаимодействовал с 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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