Facebook Video Preload Blocker

Evita la precarga de videos en Facebook

  1. // ==UserScript==
  2. // @name Facebook Video Preload Blocker
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description Evita la precarga de videos en Facebook
  6. // @author Jose Enrique Ayala Villegas
  7. // @match https://www.facebook.com/*
  8. // @grant none
  9. // @run-at document-start
  10. // ==/UserScript==
  11. var v1 = true;
  12. var list = {};
  13. var mmm;
  14. (function(open) {
  15. XMLHttpRequest.prototype.realOpen = XMLHttpRequest.prototype.open;
  16. XMLHttpRequest.prototype.open = function() {
  17. try{
  18. var url = arguments[1];
  19. if(url.indexOf('https://video') !== -1){
  20. var vname = url.split('/')[5].split('?')[0];
  21. var vid = vname.split('_')[1].substring(0,5);
  22. var dO = window.photos_snowlift === undefined ? true : photos_snowlift.classList.contains('hidden_elem');
  23. if(dO){
  24. return;
  25. } else {
  26. if(list[vname] === undefined) { list[vname] = 0; }
  27. else {
  28. if(list[vname] !== -1){
  29. list[vname]++;
  30. if(list[vname]>2){
  31. list[vname] = -1;
  32. mmm();
  33. }
  34. }
  35. }
  36. }
  37. }
  38. } catch(e){}
  39. open.apply(this, arguments);
  40. };
  41. XMLHttpRequest.prototype.fakeOpen = XMLHttpRequest.prototype.open;
  42. })(XMLHttpRequest.prototype.open);
  43.  
  44.  
  45. window.onmousedown = function(e){
  46. if(e.target.tagName === 'I'){
  47. if(document.querySelectorAll('input[type="button"]',e.target).length>0){
  48. mmm = ((function(ee){
  49. var kke = ee.target.querySelector('input');
  50. if(kke.hasClick) return;
  51. kke.hasClick = true;
  52. kke.click();
  53. }).bind(null,e));
  54. console.log('Video Reproducir');
  55. }
  56. }
  57. };