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

Добрый день!

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

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

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


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

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


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

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

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

Войти через TM ID
Похожие вопросы
23 сент. 2018, в 09:27
300 руб./за проект
23 сент. 2018, в 05:39
60000 руб./за проект
23 сент. 2018, в 04:34
10000 руб./за проект