Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- // Отключаем onbeforeunload
- window.onbeforeunload = null;
- // Полностью блокируем вызов модальных окон (alert, confirm, prompt)
- window.alert = function() { console.log('Alert dialog blocked.'); };
- window.confirm = function() { console.log('Confirm dialog blocked.'); return true; };
- window.prompt = function() { console.log('Prompt dialog blocked.'); return ''; };
- // Переопределяем addEventListener для блокировки beforeunload
- const originalAddEventListener = window.addEventListener;
- window.addEventListener = function(type, listener, options) {
- if (type === 'beforeunload') {
- console.log('Attempt to add beforeunload listener blocked.');
- return;
- }
- return originalAddEventListener.call(this, type, listener, options);
- };
- // Переопределяем removeEventListener для блокировки удаления beforeunload
- const originalRemoveEventListener = window.removeEventListener;
- window.removeEventListener = function(type, listener, options) {
- if (type === 'beforeunload') {
- console.log('Attempt to remove beforeunload listener blocked.');
- return;
- }
- return originalRemoveEventListener.call(this, type, listener, options);
- };
- // Переопределяем метод set для onbeforeunload
- Object.defineProperty(window, 'onbeforeunload', {
- set: function() {
- console.log('Attempt to set onbeforeunload blocked.');
- },
- get: function() {
- return null;
- }
- });
- // Периодически обнуляем обработчики beforeunload, если они появляются
- setInterval(function() {
- if (window.onbeforeunload !== null) {
- window.onbeforeunload = null;
- console.log('onbeforeunload handler removed.');
- }
- }, 1000); // Проверка каждые 1 сек.
- })();
Advertisement
Add Comment
Please, Sign In to add comment