Last active
December 27, 2015 02:48
-
-
Save tariqul-islam/7254595 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Twitter Home Page Image Hider | |
// @namespace HH_Twitter_HPIH_HH | |
// @description Hides the images which are by default open, adds a RE-HIDE button in the navbar, and Show/Hide toggle button in the tweets | |
// @include http://twitter.com/* | |
// @include https://twitter.com/* | |
// @version 1 | |
// ==/UserScript== | |
//************************** | |
//THIS IS A USER SCRIPT. | |
//FOR FIREFOX USE GREASEMONKEY | |
//FOR OTHERS USE THEIR RESPECTIVE METHOD | |
// | |
// *** HAS A LOT OF BUGS *** | |
// *** SUCH AS WHEN YOU GO TO ANOHER TAB AND COME BACK TO THE LAST THE NUTTON DOESNOT WORK *** | |
// *** HASN'T STARTED FINDING A SOLUTON YET *** | |
// | |
//THIS WILL ADD A RE-HIDE BUTTON IN THE NAV BAR | |
//THIS WILL ADD A SHOW/HIDE TOGGLE BUTTON IN THE TWEETS THAT HAS LINKS TO PIC.TWITTER.COM | |
//THIS WILL HIDE THE PICTURES BY DEFAULT (CANCELLING THE DEFAULT BEHAVIOUR OF TWITTER.COM) | |
// | |
//I DO NOT KNOW HOW TO CHECK FOR A EVENT WHEN SOME NEW HTML HAS BEEN INJECTED INTO THE DOM. | |
//HENCE I ADDED THE RE-HIDE BUTTON. | |
//SORRY FOR THIS ADDED UGLINESS. | |
//I SEARCHED FOR A LITTLE BIT. IF YOU KNOW, PLEASE LET ME KNOW | |
// | |
//-TARIQUL ISLAM | |
//PONIR(DOT)BD(AT)HOTMAIL(DOT)COM | |
// | |
//**************************/ | |
var inject="<button class=\"hyp_injected_twitter btn\">Show</button>"; | |
//THIS FUNCTION INJECTS THE RE-HIDE BUTTON INTO THE DOM | |
function addToNavBar(){ | |
var navBarHTML = "<li><a id=\"hyp_redo_hide\" href=\"#\"><span class=\"text\">RE-HIDE</span></a></li>"; | |
var globAct = document.getElementById("global-actions"); | |
var gaHTML = globAct.innerHTML; | |
globAct.innerHTML = gaHTML+navBarHTML; | |
}; | |
//THIS FUNCTION TOGGLES THE SHOW/HIDE BUTTON | |
function toggler(){ | |
var nextElement = this.parentNode.getElementsByClassName("cards-base"); | |
if(nextElement.length == 1){ | |
var element = nextElement[0]; | |
if(this.textContent == "Show"){ | |
this.textContent = "Hide"; | |
element.style.display="block"; | |
}else{ | |
this.textContent = "Show"; | |
element.style.display="none" | |
} | |
} | |
return false; | |
}; | |
//THIS FUNCTON CHANGES THE DEFAULT BEHAVIOUR OF LOADED TWITTER PAGE | |
function changeIt(){ | |
var cmc = document.getElementsByClassName("cards-media-container"); | |
for( var i=0; i<cmc.length; i++){ | |
var y = cmc[i].innerHTML; | |
if(y[1]!='b'){ | |
cmc[i].innerHTML = inject+y; | |
var hypInject = cmc[i].getElementsByClassName("hyp_injected_twitter"); | |
var hypInject = hypInject[0]; | |
hypInject.addEventListener("click", toggler, false); | |
} | |
var innerClass = cmc[i].getElementsByClassName("cards-base"); | |
innerClass[0].style.display="none"; | |
var hypInject = cmc[i].getElementsByClassName("hyp_injected_twitter"); | |
var hypInject = hypInject[0]; | |
hypInject.textContent="Show"; | |
} | |
}; | |
//CALLED THEM HERE | |
addToNavBar(); | |
changeIt(); | |
//ADDS AN EVENT LISTNERE FOR RE-HIDE BUTTON | |
document.getElementById("hyp_redo_hide").addEventListener("click", function(event){ | |
changeIt(); | |
event.preventDefault(); | |
}, false); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment