Skip to content

Instantly share code, notes, and snippets.

@tjadhav
Last active August 20, 2019 12:24
Show Gist options
  • Save tjadhav/9df470d6acc062c17c3398c946d9ba36 to your computer and use it in GitHub Desktop.
Save tjadhav/9df470d6acc062c17c3398c946d9ba36 to your computer and use it in GitHub Desktop.
Quora Script
// ==UserScript==
// @name Quora AdFree
// @namespace http://tampermonkey.net/
// @version 0.2
// @description Remove ads
// @author Tushar
// @match https://www.quora.com/*
// @grant none
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-countdown/2.0.2/jquery.plugin.min.js
// ==/UserScript==
(function() {
'use strict';
var observeDOM = (function() {
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
return function( obj, callback ){
if( !obj || !obj.nodeType === 1 ) return; // validation
if( MutationObserver ){
// define a new observer
var obs = new MutationObserver(function(mutations, observer){
callback(mutations);
})
// have the observer observe foo for changes in children
obs.observe( obj, { childList:true, subtree:true });
}
else if( window.addEventListener ){
obj.addEventListener('DOMNodeInserted', callback, false);
obj.addEventListener('DOMNodeRemoved', callback, false);
}
}
})();
function removeAds() {
jQuery('a[href*="ad.doubleclick.net"]').each(function() {
jQuery(this).closest('.pagedlist_item, .HyperLinkBundle').remove();
});
jQuery('a[rel*="noopener nofollow"][target="_blank"] > p').each(function() {
jQuery(this).closest('.feed_expand, .HyperLinkBundle, .Bundle').css({
'background': 'red',
'color': 'green'
})
.animate({
height: 0
}, 1000, function() {
jQuery(this)
.parent().remove();
});
});
jQuery('.QuestionStoryBundle, .SuggestedTribesBundle, .SuggestedAMAsBundle, .SuggestedUsersBundle').slideUp('slow');
jQuery('[data-clog-metadata]').each(function() {
const val = jQuery(this).data('clog-metadata');
if (Object.keys(val).join(',').includes('promoted_content')) {
jQuery(this).closest('.HyperLinkFeedStory').remove();
}
});
}
setTimeout(removeAds, 3000);
observeDOM(document.querySelector('.paged_list_wrapper'), removeAds);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment