Greasy Fork is available in English.

Yahoo Mail Ad Removal

supprimer les pubs Motty Katan(c) 06-02-2006 last updated 13/02/15

// ==UserScript==
// @name          Yahoo Mail Ad Removal
// @name:fr          Yahoo Mail Ad Removal
// @version 1.0.19
// @description	  removes the ads Motty Katan(c)  06-02-2006 last updated 13/02/15
// @description:fr	  supprimer les pubs Motty Katan(c)  06-02-2006 last updated 13/02/15
// @include       /^https?://.*\.mail\.yahoo\.com/neo/launch.*$/
// @namespace
// @grant       none
// ==/UserScript==
//Change Log:
//10/02/06: removed duplicate include url.
//24/02/06 did I remove soething I shouldn't? or yahoo added more ads?
//anyhow added showLetter url to the include.
//17/03/06 BugFixed: attachments were hidden as well.
//26/03/06 iframe are now hidden by this script. changed "us.f516" to *
//         in the include urls just in case
//27/03/06 corrected the login url.(after session expired-relogin the url was without a questionmark)
//31/03/06 added compose url
//15/04/06 added url of Yahoo Mail Beta + removed iframe=hidden since it's deprecated
//27/04/06 added url for folders
//15/09/07 removed ugly code that was very noturious in making html emails and more disappear(Yahoo Clasic)
//         Yahoo Mail Beta support is now really supported all ads are removed.
//16/09/07 Yahoo Mail Beta added another iframe containing ads to hide.
//21/09/07 Yahoo Mail Beta expand both folder space and messages space automaticly
//18/09/09 Yahoo Mail Beta all is well, just the condition that I've used to detect the beta version
//         stopped working. I'm sorry. better condition. Yahoo mail classic doesn't work (code part A)
//18/10/09 removed Yahoo mail classic old code till further research. That fixed the reported problem with the attach button. Thanks for all the comments.
//16/02/10 Yahoo! did some changes to their code. New code had to be inserted. Happy Mardi Gras!
//19/02/10 Resize - dealt with. The pane(paper letter-I belive it's called in English) for chosing a background/theme for the message, now pops
//         over in the right side (instead of the left). much cleaner code. Publicity after sending a message
//         is now hidden too. Thanks for bringing it to my attention. Calender is still annoying.
//20/02/10 Scrollbar/flags not clickables bug fixed. Now the width is more dynamic and allows
//         stationary and search result to have their side and not to float over.
//20/02/10 Dealt with edge scenarios of switching between tabs (messages/search results).
//24/03/10 Dealt with little arrow for the publicity bar, showing over the messages
//18/05/10 Dealt with the new embed publicities.
//19/03/11 Added newest Yahoo! version NEO support - one line :)
//14/07/12 Yahoo! has a new (bugs included) version. As for me, currently I can't see tabs for messages
//         GM disactivated+cookies deleted. Anyhow, since the oneliner no longer work (for me at least).
//         I dived into their code and released a patch
//14/07/12 I apologise, the bug is not in Yahoo! or at least no more. Had some troubles with the script.
//         small bug, created an error which created differents malfunctions. 
//         Corrected the event with anonymous function, currently just a PATCH. using 2 seconds timeout.
//14/07/12 Patch#3: on message removal deal with the ad on the side bar.
//21/12/13 Till more digging in the code, applying a css temp solution
//21/12/13 Digged the code... Bye bye ads using javascript of the yui
//23/12/13 Updated include urls, using regEx to include also https
//11/02/15 In some computers the noDarla configuaration as of today made problems to the GUI functionality.
//         using the old method of hiding and disabling events.
//13/02/15 Fixed hiding of ads slots. 
//11/09/15 Looks like newest GM has some trouble with unsafeWindow, even after grant. Well 'window' now works well (why?) correcting the script
//         while noting that unsafeWindow should be on some time updated to replace window usage.

//kill events
//unsafeWindow.yui.on("checkmail:succeeded",function deleteAds(){
document.addEventListener("afterscriptexecute", function(){
	//20150911: from the first version I was using unsafeWindow but newest GM has trouble with that
	if (window.yui && window.DARLA){
		document.body.className += " withoutad"; = {};
		for(p in window.DARLA_CONFIG.positions){
			o =  window.DARLA_CONFIG.positions[p];
			if (o.clean){"#"+o.clean).hide();				
		window.NeoConfig.prefetchAd = 0;
	document.removeEventListener('afterscriptexecute', arguments.callee, false);			
}, true);