Hoe stop ik Javascript-uitvoering? En alle timers? (Hoe een functie te stoppen van pollen of monkeypatching)

Ik wil stoppen met het uitvoeren van een script, vergelijkbaar met wat de Esc-toets in Firefox doet. Het stopt alle Javascript op die pagina en alle gif-animaties.

Is er een functie die ik zou kunnen noemen die alles zou stoppen?

1
Omdat een deel van het JavaScript waarover ik geen controle heb, de server peilt waardoor Chrome knippert/de reload-knop verandert, wat voor een vervelende gebruikerservaring zorgt. ID wil de polling uitschakelen omdat het niet nodig is nadat mijn code is uitgevoerd. Ik mag geen code wijzigen/aanraken buiten mijn module. Yep. Management op zijn best.
toegevoegd de auteur rapadura, de bron
Waarom zou je dit doen?
toegevoegd de auteur Andre, de bron

2 antwoord

Afhankelijk van hoe de beledigende module is georganiseerd, kun je misschien een patch maken zonder de broncode te wijzigen.

Als de vervelende polling bijvoorbeeld globaal of namespaced is, kunt u proberen deze te vervangen door een nutteloze stub:

//save the old version of the function, in case
//we need to restore it afterwards
var nasty_function = His.Namespaced.Evil.func;

//put our own stub in place
His.Namespaced.Evil.func = function(what, args, it , should, receive){
    return somthing_that_signals_a_failed_poll;
}
2
toegevoegd
Ah natuurlijk! Bedankt. Ik hou van je stijl missingno.
toegevoegd de auteur rapadura, de bron

Nee, zoiets bestaat niet. En er is ook geen echte reden voor: je schrijft de code, je kunt ervoor zorgen dat hij stopt met dingen doen als je dat wilt.

Plus: als er een functie was die alle JS-activiteit stopte ... hoe zou u het dan opnieuw opstarten?

2
toegevoegd
Dat is een goede vraag, maar dat zou ik niet doen. Gewoon top het verdomde ding. Firefox kan het, andere browsers zouden dat ook moeten doen.
toegevoegd de auteur rapadura, de bron