Jquery / Javascript: Slik fjerner JS-fil for en side som ikke blir brukt i gjeldende siden

stemmer
0

I utgangspunktet har jeg 4 visninger i min side (4 forskjellige seksjoner i en enkel HTML-side), Jeg skjuler og viser de nødvendige synspunkter basert på knapp klikk.

Jeg har fire separate JS-fil for disse 4 visninger. Basert på siden brukeren er i jeg lasting av JS siden ved hjelp av kommandoen

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

Jeg ønsker å fjerne alle ubrukte JS (JS som brukes til andre sider) når brukeren navigerer til andre siden og bare Page2.jsskal legges, tiden når brukeren navigerer til andre siden (side 1 til 2) begge Page1.jsog Page2.jsblir lastet.

$.getScript kan laste JS men er det en kommando eller måte å fjerne JS fra siden og laste JS filen dynamisk?

Publisert på 02/09/2018 klokken 05:43
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Takk for svar, var jeg i stand til å finne ut av problemet, og noen midlertidig løsning for det. I utgangspunktet hadde jeg noen vanlige funksjoner i Side1 JS og Side2 JS så jeg ønsket noen av funksjonene i min Side2 JS ikke å løpe når jeg bruker Side1 men de var å få henrettet på grunn av dem brukte samme modal og danner sende IDer.

Jeg erklært en variabel i JS og basert på at jeg sørget for funksjonene i Side2 JS ikke kjører når jeg er i Side1

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

Bruk Page_Checkerog sørge for at funksjonene kjører ikke i andre JS-filer. Kanskje du kan gjøre noe sånt som dette i andre JS-filer:

if(Page_Checker != "THIS_IS_PAGE1")
    return;
Svarte 08/09/2018 kl. 02:56
kilden bruker

stemmer
0

Her er et bra innlegg som forklarer det, men lue du kan gjøre er å fjerne <script>elementet du ikke bruker:

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

Og i jQuery:

if (current_page != 'Page1') {
    $("#page1script").html().remove();
}
Svarte 02/09/2018 kl. 06:12
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more