5 ms·
I've taken to popping open the devtools and deleting the offending DOM elements when this happens.
by 1000hz 11y ago
I've taken to popping open the devtools and deleting the offending DOM elements when this happens.
- kps 11y agoAnd if it's a site I visit more than once, creating a 'display: none' CSS override. Same for the floating headers that break paging, and similar annoyances. (I use the Stylish browser extension.)
- lawl 11y agoThat works well until you get to sites that randomize the id/class/whatever of the element or automatically reinsert it once you kill it. At that point i usually look for a different site. Urgh. I wouldn't mind ads if the weren't that fucking annoying.
- chapium 11y agoFor me, sites with intrusive ads and sites i visit more than once are two groups that do not intersect.
- jrs235 11y agoI have a bookmarklet that lets me do that without popping open dev tools. When I get home I'll post it.
- holyjaw 11y agoThis is what I have in my "Kill Element" bookmarklet. (SECURITY NOTE: You should never blindly copy and paste javascript like this and run it in your browser.) javascript:(function(){var e=document.body.style.cursor;document.body.style.cursor="crosshair";var t=document.createElement("div");var n="border:1px solid #3280FF;background-color:rgba(50,128,255,0.5);position:absolute;z-index:999999999999999;display:none;";var%20r="pointer-events:none;";var%20i="transition:width%2060ms,height%2060ms,left%2060ms,top%2060ms;";n+=r+"-webkit-"+r+"-moz-"+r;n+=i+"-webkit-"+i+"-moz-"+i;t.setAttribute("style",n);document.body.appendChild(t);var%20s=null;var%20o=function(e){var%20n=e.target;if(n!==s&&n.parentNode){var%20r=n.getBoundingClientRect();var%20i=document.documentElement;var%20o=document.body;var%20u=i.clientTop||o.clientTop||0;var%20a=i.clientLeft||o.clientLeft||0;var%20f=window.pageYOffset||i.scrollTop||o.scrollTop;var%20l=window.pageXOffset||i.scrollLeft||o.scrollLeft;var%20c=l-a+r.left-1;var%20h=f-u+r.top-1;t.style.display="block";t.style.left=c+"px";t.style.top=h+"px";t.style.width=r.width+"px";t.style.height=r.height+"px";s=n}};var%20u=function(n){document.body.style.cursor=e;if(n.target.parentNode)n.target.parentNode.removeChild(n.target);if(t.parentNode)t.parentNode.removeChild(t);window.removeEventListener("click",u,false);window.removeEventListener("mouseover",o,false);n.stopPropagation();n.preventDefault()};window.addEventListener("mouseover",o,false);window.addEventListener("click",u,false)})();void(0)
- grey-area 11y agoPlease prepend four spaces to this - you have broken formatting on the entire page.
- betenoire 11y agoYour comment makes this page have a long horizontal scroll, and a total pain in the ass to read now. Perhaps you can edit that and put in spaces so it wraps? Thanks.
- dTal 11y agoIn fairness, this is HN's fault - not allowing posts to mess up the whole page is basic fit-for-purposeness for forum software and the whole reason HTML is not allowed in the first place. Your workaround, on the other hand, breaks the content as bookmarklets are always one-liners. Evidently (according to a sibling comment) the solution is to prepend 4 spaces, which isn't exactly standard. As for the bookmarklet, smashing stuff. I'm always deleting irritating stuff on pages using the inspector.
- betenoire 11y agonot blaming anyone, just wanna be able to read the comments :)
- jrs235 11y agoHere it is: javascript:(function(){document.styleSheets[0].addRule(".highlighted_to_remove","background:red !important");var e=function(e){if(e.keyCode==27){i()}};document.addEventListener("keydown",e);var t=function(e){e.stopPropagation();this.classList.add("highlighted_to_remove");return false};var n=function(e){e.stopPropagation();this.classList.remove("highlighted_to_remove");return false};var r=function(e){this.parentNode.removeChild(this);i();e.preventDefault();e.stopPropagation();return false};var i=function(){var i=0;var s=document;while(s=document.body.getElementsByTagName("*").item(i++)){s.removeEventListener("mouseover",t);s.removeEventListener("mouseout",n);s.removeEventListener("click",r);s.classList.remove("highlighted_to_remove")}document.removeEventListener("keydown",e)};var s=0;var o=document;while(o=document.body.getElementsByTagName("*").item(s++)){o.addEventListener("mouseover",t);o.addEventListener("mouseout",n);o.addEventListener("click",r)}})()
- alphabetam 11y agoCtrl+Shift+C in Chrome lets you select the node even before you open the dev tools, and then you can just press "canc" to remove it.
- whitedino 11y agoHey thanks for the tip! Would come real handy
- silviogutierrez 11y agoExcellent tip. First part works great. But what do you mean by canc? Is that a button on the inspector? A key combination? Can't find it. Maybe I'm missing something obvious. It's been a long day...
- mercer 11y agoAt least on a Mac, the delete key (or rather Fn-Backspace) does the trick.
- chestervonwinch 11y agoI often do this as well for elements that steal from vertical space - the claustrophobia-inducing ones anyway.