Advertisement
Guest User

NLZiet_doorspoelblokkade_opheffen.js

a guest
Sep 23rd, 2019
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // Opslaan als NLZiet_doorspoelblokkade_opheffen.js, dan inladen met Tampermonkey/Greasemonkey
  3. // @name     NLZiet doorspoelblokkade opheffen
  4. // @version  1
  5. // @include        https://app.nlziet.nl/*
  6. // @grant    none
  7. // ==/UserScript==
  8.  
  9. function main () {
  10.   var weghaalpogingen = 0;
  11.  
  12.   blokkadeOpruimen = function() {
  13.     var disabledHandles = Meister.instances[0].instance.eventHandler.disabledHandles;
  14.     var indexDoorspoelblokkade = disabledHandles.indexOf('requestSeek');
  15.     if(indexDoorspoelblokkade >= 0)
  16.     {  
  17.         disabledHandles.splice(indexDoorspoelblokkade , 1);
  18.     }
  19.   }
  20.  
  21.   //FIXME: handler vinden die afgaat als Meister-library is geladen
  22.   controleerOpBlokkade = function() {
  23.     if (Meister && Meister.instances && Meister.instances.length > 0 &&  Meister.instances[0].instance &&  Meister.instances[0].instance.eventHandler && Meister.instances[0].instance.eventHandler.disabledHandles && Meister.instances[0].instance.eventHandler.disabledHandles.length > 0) {
  24.        //Even wachten om te voorkomen dat de  boel crashed als het nog bezig is met laden.
  25.        setTimeout(blokkadeOpruimen, 500);
  26.     } else if (weghaalpogingen++ < 20) {
  27.         setTimeout(controleerOpBlokkade, 500);
  28.     }
  29.   };
  30.   setTimeout(controleerOpBlokkade, 1000);
  31.  
  32.     /* Controle op wijzigingen URL */
  33.     history.pushState = ( f => function pushState(){
  34.         var ret = f.apply(this, arguments);
  35.         window.dispatchEvent(new Event('pushState'));
  36.         window.dispatchEvent(new Event('locationchange'));
  37.         return ret;
  38.     })(history.pushState);
  39.  
  40.     history.replaceState = ( f => function replaceState(){
  41.         var ret = f.apply(this, arguments);
  42.         window.dispatchEvent(new Event('replaceState'));
  43.         window.dispatchEvent(new Event('locationchange'));
  44.         return ret;
  45.     })(history.replaceState);
  46.  
  47.     window.addEventListener('popstate',()=>{
  48.         window.dispatchEvent(new Event('locationchange'))
  49.     });
  50.  
  51.   window.addEventListener('locationchange', function(e){
  52.     weghaalpogingen = 0;
  53.     setTimeout(controleerOpBlokkade, 1000);
  54.   });
  55. }
  56.  
  57. var script = document.createElement('script');
  58. script.appendChild(document.createTextNode('('+ main +')();'));
  59. document.body.append(script);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement