Как удалить скрипт из памяти браузера, не перегружая страницу?09.02.2017, 19:45. Показов 15838. Ответов 10
Метки нет (Все метки)
Использование removeChild для удаления соответствующего тега работает, только для тех скриптов, которые приписаны на самой странице. Если же скрипт подгружался так:
Добавлено через 4 минуты Только, пожалуйста, не надо (как на других форумах) советовать, как очистить кэш браузера. Ибо имеется в виду не кэш, а основная (оперативная) память, в которой находится скрипт. Очистка кэша не дает никакого результата. Хотелось бы, по возможности, без использования java-апплетов. Добавлено через 4 минуты Если уж не удалить из оперативной памяти (да, я понимаю, это не С), то, хотя бы - как-то заблокировать возможность выполнения одного или нескольких скриптов на странице - при помощи соответствующего скрипта, который подгружается на страницу, например, с сервера.
0
|
||||||
| 09.02.2017, 19:45 | |
|
Ответы с готовыми решениями:
10
Как поменять url, не перегружая страницу.
Как удалить стартовую страницу из браузера |
|
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
|
|
| 09.02.2017, 23:46 | |
|
Htext, браузер не выделяет для отдельного скрипта свою собственною область или окружение, они конечно могут загружаться и запускаться раньше или позже, но, так или иначе, все выполняется в одном потоке и в одной глобальной области как один единственный скрипт, за исключением веб-воркеров.
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
||||||
| 10.02.2017, 01:38 | ||||||
|
Единственно, что вы можете сделать в данном случае это написать код в 1.js в виде именной функции, и когда нужно очистить переобъявить функцию
1
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 10.02.2017, 02:24 | |
|
Htиext, мне ваш вопрос кажется несколько странным
код, прописанный в скриптовом блоке (или в подключаемом js-файле) -- он бывает как бы двух видов: 1) либо это набор команд в глобальной области видимости, которые сразу же исполняются, например, var q = 123; alert (q); 2) либо это определение функции (или нескольких функций), которые будут исполнены только тогда, когда эти функции будут вызваны в первом случае ничего блокировать явно не надо, ибо, как говорится, "поздно пить боржоми, когда почки отвалились" -- прописанные команды уже один раз выполнились во втором случае блокировка, имхо, тоже не требуется -- достаточным будет просто не вызывать функции, которые были определены, а уж если, допустим, требуется "очистить оперативку" от больших по количеству кода функций, то просто переопределите их на коротенькие (или вообще пустые) функции или я что-то совсем не так понимаю и вы в понятие "блокировка" вкладываете какой-то иной смысл?
0
|
|
| 10.02.2017, 15:31 [ТС] | ||||
|
Добавлено через 8 минут И, кстати, попутный вопрос: можно ли при помощи скрипта как-то узнать список всех функций, имеющихся в памяти (браузера), применительно к загруженной вебстранице? Или, только вручную, анализируя скрипты, например, регулярными выражениями? Но, опять же, как быть с анонимными.
0
|
||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 10.02.2017, 19:47 | |
|
для уменьшения объёма используемой оперативной памяти существуют давно всем известные методы, такие, например, как
1. исполнение одноразового кода глобальной области, как чёрного ящика, т.е. код var q = 123; alert (q) надо обернуть в безымянную функцию и запустить её -- после исполнения в оперативке не останется вовсе ничего 2. при работе с таймерами пользоваться clearTimeout () и clearInterval () 3. большие по объёму код функции надо именовать, чтобы после их использования была возможность эти функции переопределить на малые 4. подгружать большие по коду функции не в заголовке, а в нужном месте и в нужное время по ходу работы страницы блокировок это всё не так уж и сложно и работает вполне эффективно и без каких-либо "блокировок"
1
|
|
| 10.02.2017, 22:07 [ТС] | |||
|
Т.е. анонимные функции заблокировать (путем переопределения или еще как) невозможно, я правильно понял? Добавлено через 7 минут У меня задача - не столько снизить потребление ОП, сколько - заблокировать работу некоторых "ненужных" скриптов. Т.е. чтобы функции, определенные в них, не работали. Часть из них выполнена в виде анонимных функций. Добавлено через 9 минут Т.е. есть setTimeout(...). А вот функции типа getTimeout() - вроде как, нет.
0
|
|||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 10.02.2017, 22:22 | ||
|
соответственно, если они не назначены, то и определить их нельзя
0
|
||
| 11.02.2017, 09:12 [ТС] | ||
|
Иначе говоря, можно ли при помощи скрипта как-то узнать, что именно id1 и id2 являются идентификаторами таймеров? Не заглядывая в код, не проводя его дебаг и т.п. Ведь если можно было бы узнать имена этих переменных - тогда дело за малым: применить к этим таймерам функции clearTimeout () или clearInterval (), а потом назначить свои таймеры. Например, в С можно же программно узнать имена загруженных в память процессов, номера открытых портов (для сокетов), имена работающих функций... А в JS, похоже, со всем этим туго?
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|
| 11.02.2017, 15:15 | |
|
1
|
|
| 11.02.2017, 19:13 [ТС] | |
|
0
|
|
| 11.02.2017, 19:13 | |
|
Помогаю со студенческими работами здесь
11
Как обновить контент не перегружая всю страницу?
Обновление базы не перегружая страницу Не перегружая страницу создать новые элементы Вирус изменил стартовую страницу браузера,при открытии браузера направляет на сайт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|