Как удалить все функции на странице?

Добрый день!

Через Tampermonkey получаю на странице нужный текст. Затем мне необходимо вставить его на совершенно чистую страницу.

Через document.write вставляю новую разметку:

<!DOCTYPE html>
<html>
  <head></head>
  <body></body>
</html>


Но функции и скрипты от предыдущей страницы продолжают работать как ни в чем не бывало. Как их вычистить из того места, где они есть? Чтобы была совершенно чистая страница?

Спасибо!
  • Вопрос задан
  • 612 просмотров
Пригласить эксперта
Ответы на вопрос 5
@Bhudh
document.head.outerHTML = document.head.outerHTML+' ';
document.body.outerHTML = document.body.outerHTML+' ';


Так head и body полностью обновятся и никаких обработчиков ни на чём не останется.
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Наверное, можно укокошить весь HTML старой страницы и создать поверх старой страницы iframe во всё окно. Он будет чист от скриптов и слушателей событий, и если ему дать достаточно большой z-index, то потенциально создаваемые старыми скриптами элементы не будут появляться поверх.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Можно удалить все до <html> включительно
document.body.parentElement.remove()

Объект window останется, конечно, и все переменные в нем.
Теоретически можно перебрать все его свойства, и по каким-то критериям поудалять "лишнее", но я не сомневаюсь в успехе этой затеи.
Ответ написан
Комментировать
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
А если попробовать радикальную хирургию:
[].forEach.call(document.querySelectorAll('script'), function(i) {
		i.remove();
	})
Ответ написан
Krasnodar_etc
@Krasnodar_etc
fundraiseup
ИМХО, для такой задачи лучше подойдёт реализация через бэкенд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
18 июн. 2024, в 23:10
15000 руб./за проект
18 июн. 2024, в 20:15
500 руб./за проект