Savelyev_Vyacheslav

Откл Модал окно браузера при сохранении

Sep 17th, 2024
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. (function() {
  4.     // Отключаем onbeforeunload
  5.     window.onbeforeunload = null;
  6.  
  7.     // Полностью блокируем вызов модальных окон (alert, confirm, prompt)
  8.     window.alert = function() { console.log('Alert dialog blocked.'); };
  9.     window.confirm = function() { console.log('Confirm dialog blocked.'); return true; };
  10.     window.prompt = function() { console.log('Prompt dialog blocked.'); return ''; };
  11.  
  12.     // Переопределяем addEventListener для блокировки beforeunload
  13.     const originalAddEventListener = window.addEventListener;
  14.     window.addEventListener = function(type, listener, options) {
  15.         if (type === 'beforeunload') {
  16.             console.log('Attempt to add beforeunload listener blocked.');
  17.             return;
  18.         }
  19.         return originalAddEventListener.call(this, type, listener, options);
  20.     };
  21.  
  22.     // Переопределяем removeEventListener для блокировки удаления beforeunload
  23.     const originalRemoveEventListener = window.removeEventListener;
  24.     window.removeEventListener = function(type, listener, options) {
  25.         if (type === 'beforeunload') {
  26.             console.log('Attempt to remove beforeunload listener blocked.');
  27.             return;
  28.         }
  29.         return originalRemoveEventListener.call(this, type, listener, options);
  30.     };
  31.  
  32.     // Переопределяем метод set для onbeforeunload
  33.     Object.defineProperty(window, 'onbeforeunload', {
  34.         set: function() {
  35.             console.log('Attempt to set onbeforeunload blocked.');
  36.         },
  37.         get: function() {
  38.             return null;
  39.         }
  40.     });
  41.  
  42.     // Периодически обнуляем обработчики beforeunload, если они появляются
  43.     setInterval(function() {
  44.         if (window.onbeforeunload !== null) {
  45.             window.onbeforeunload = null;
  46.             console.log('onbeforeunload handler removed.');
  47.         }
  48.     }, 1000); // Проверка каждые 1 сек.
  49. })();
  50.  
  51.  
Advertisement
Add Comment
Please, Sign In to add comment