// ==UserScript== // @name Reddit Hide All // @namespace http://userscripts.org/users/dbeck // @description Adds a button next to the logo to Hide All // @match *://www.reddit.com/* // @exclude */comments/* // @exclude *://www.reddit.com/comscore-iframe/* // @exclude *://static.reddit.com/ads/* // @version 4 // @date 2010.04.20 // @creator reddit@douglasbeck.com // @homepage http://douglasbeck.com/scripts/reddit/ // ==/UserScript== /* if you have any comments or suggestions send a reddit message to: dougletts */ var code_string = "(" + function() { //create link with hide functionality var link = document.createElement('a'); link.setAttribute('href','#'); link.setAttribute('id','reddit-hide-all'); link.innerHTML = 'hide all'; link.addEventListener('click', function(event){ //ajax loading spinner var spinner = { lock : 0, remove : function(){ --spinner.lock; if(spinner.lock ==0) $('#reddit-hide-all').css("background", ""); }, add : function(){ //created ajax spinner with http://www.ajaxload.info/ #EFF7FF and #FF4500 (orangered) //created data uri with http://www.sveinbjorn.org/dataurlmaker $('#reddit-hide-all').css("background", 'url("data:image/gif;base64,R0lGODlhEAAQAPIAAO/3//9FAPLMwv'+ 'pzQv9FAPiJYvafgvWqkiH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACw'+ 'AAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQACgABACwA'+ 'AAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkEAAoAAgAsA'+ 'AAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkEAAoAAw'+ 'AsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkEAAoABAA'+ 'sAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQACgAFACwA'+ 'AAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQACgAGACwAA'+ 'AAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAAKAAcALAAAAA'+ 'AQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==") '+ '#EFF7FF no-repeat center'); } }; // requests are now rate-limited in the default js, so I had to write my own function to process the requests. // I actually like it better because it hides the link *after* the request is sent/completed, not before. // I DON'T like how many ajax request this makes so I've submitted a feature request: // http://code.reddit.com/ticket/576 $.fn.extend({ redditHide: function(op, parameters, link){ $.post(op, parameters, function(){ hide_thing($(link).parents("form")); spinner.remove(); }, null); return ++spinner.lock; } }); //grab & hide all var links = document.getElementsByTagName('a'); var count = 0; for(var i=0; i