Jquery / Javascript: как удалить файл JS для страницы, которая не используется на текущей странице

В основном у меня есть 4 представления на моей странице (4 разных раздела на одной HTML-странице), я скрываю и показываю необходимые представления на основе нажатия кнопки.

У меня есть 4 отдельных файла JS для этих 4 представлений. В зависимости от того, на какой странице находится пользователь, я загружаю страницу JS с помощью команды

    //Page1
    if (current_page == 'Page1') {
        $.getScript("/js/Page1.js");
    }

Я хочу удалить все неиспользуемые JS (JS, которые используются для других страниц), когда пользователь переходит на 2-ю страницу, и должен быть загружен только Page2.js. В настоящее время, когда пользователь переходит на 2-ю страницу (с страницы 1 на страницу 2), загружаются как Page1.js, так и Page2.js.

$.getScript может загружать JS, но есть ли команда или способ удалить JS со страницы и динамически загрузить файл JS?

Нет, дорогая, вы не можете отменить загруженные js, все, что вы можете сделать, это очистить ваш реальный код вместо этого, удалив неиспользуемые скрипты / плагины.

user2575725 02.09.2018 07:49

@Arvind Что вы имеете в виду под clean up your actual code? Я этого не понял.

user8268874 02.09.2018 07:55
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
1 503
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вот хороший пост, который объясняет это, но вы можете удалить элемент <script>, который вы не используете:

<script id = "page1script" src = "/js/Page1.js"></script>

И в jQuery:

if (current_page != 'Page1') {
    $("#page1script").html().remove();
}

технически кажется, что это не имеет никакого значения

brk 02.09.2018 08:27
Ответ принят как подходящий

Спасибо за ответ, я смог разобраться в проблеме и решить ее. В основном у меня были некоторые общие функции в Page1 JS и Page2 JS, поэтому я хотел, чтобы некоторые функции в моем Page2 JS не запускались, когда я использую Page1, но они выполнялись, потому что они использовали те же модальные идентификаторы и идентификаторы отправки формы.

Я объявил переменную в JS и на основании этого убедился, что функции в Page2 JS не работают, когда я нахожусь в Page1.

    var Page_Checker = "";
    //Page1
    if (current_page == 'Page1') {
        $.getScript("/js/Page1.js");
        Page_Checker = "THIS_IS_PAGE1"
    }

Используйте Page_Checker и убедитесь, что функции не выполняются в других файлах JS. Может быть, вы можете сделать что-то подобное в других файлах JS:

if (Page_Checker != "THIS_IS_PAGE1")
    return;

Другие вопросы по теме