There are 3 previous versions of this script.
// ==UserScript==
// @name Gmail Disable Web Clip Sponsored Links
// @namespace userscripts.org
// @description Automatically skips any sponsored links (and optionally tips) detected in the Gmail Web Clips feed.
// @include http*://mail.google.com/*
// @copyright James Nisbet
// @website http://blog.bandit.co.nz
// @version 0.2
// ==/UserScript==
// disable gmail help tips too?
var hideTips = true;
// disable "in-email" adverts sidebar as well?
var hideAds = true;
// check for a sponsored link
function check() {
var cliptype = document.getElementById(":rh");
if(cliptype) {
// first find the "next clip" button
var nextclip = document.getElementById(":rf");
// check if it has the word "sponsored" in it
if(cliptype.innerHTML.indexOf("Sponsored")!=-1) {
// this is a sponsored link, skip it, biatch
// 'click' next button by simulating a user click
fireEvent(nextclip,"click");
}
// not an advert, is it a tip? also check if we're hiding tips
else if(hideTips && cliptype.innerHTML.indexOf("Tip")!=-1) {
// 'click' next button by simulating a user click
fireEvent(nextclip,"click");
}
}
}
// run this check every 100 milliseconds, gmail won't mind
var clipcheck = setInterval(check, 100);
// ... and hide ads if necessary
if(hideAds) {
// borrowed from http://userscripts.org/scripts/show/43495
var css = "table[class='Bs nH iY'] tr td[class='Bu']:last-child {display:none !important;}";
if (typeof GM_addStyle != "undefined") {
GM_addStyle(css);
} else if (typeof addStyle != "undefined") {
addStyle(css);
} else {
var heads = document.getElementsByTagName("head");
if (heads.length > 0) {
var node = document.createElement("style");
node.type = "text/css";
node.appendChild(document.createTextNode(css));
heads[0].appendChild(node);
}
}
}
// simple event firing function
// http://jehiah.cz/archive/firing-javascript-events-properly
function fireEvent(element,event){
if (document.createEventObject){
// dispatch for IE
var evt = document.createEventObject();
return element.fireEvent('on'+event,evt)
}
else{
// dispatch for firefox + others
var evt = document.createEvent("HTMLEvents");
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
return !element.dispatchEvent(evt);
}
}
