Guest User

Tap-to-Extract HTML Bookmarklet

a guest
Dec 29th, 2025
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | Source Code | 0 0
  1. javascript:(function(){if(window.__tapExtractActive)return;window.__tapExtractActive=true;const results=[];const seen=new WeakSet();const outlined=[];let count=0;const panel=document.createElement('div');panel.id='__tap_ex';panel.style.cssText='position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:2147483647;background:#111;color:#fff;padding:10px 12px;border-radius:12px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;display:flex;align-items:center;gap:12px';const text=document.createElement('div');text.textContent='Tap an element to extract HTML';panel.appendChild(text);const finish=document.createElement('button');finish.textContent='Finish';finish.style.cssText='margin-left:auto;padding:6px 12px;border:0;border-radius:8px;background:#fff;color:#000;font-weight:600';panel.appendChild(finish);document.body.appendChild(panel);function label(el){try{return(el.getAttribute('aria-label')|| (el.innerText||'').trim()||el.value||el.name||el.id||el.tagName.toLowerCase()).slice(0,60)}catch(e){return el.tagName.toLowerCase()}}function captureHandler(e){try{if(panel.contains(e.target))return; e.preventDefault(); e.stopPropagation(); const el=e.target; if(seen.has(el)){text.textContent='Already captured — tap a different element'; return;} seen.add(el); outlined.push(el); count++; const name=label(el); el.style.outline='2px solid #4caf50'; el.style.outlineOffset='2px'; results.push('<!-- '+count+'. '+name+' -->\\n'+el.outerHTML.replace(/</g,'&lt;').replace(/>/g,'&gt;')); text.textContent='Captured \"'+name+'\". Tap another or Finish.';}catch(err){console.log(err)}}const ev='onpointerdown' in window?'pointerdown':('ontouchstart' in window?'touchstart':'click');document.addEventListener(ev,captureHandler,true);finish.onclick=function(){document.removeEventListener(ev,captureHandler,true);panel.remove();window.__tapExtractActive=false;outlined.forEach(el=>{try{el.style.outline='';el.style.outlineOffset=''}catch(e){}});const w=window.open('about:blank','_blank');w.document.write('<html><head><title>Extracted HTML</title><style>body{font-family:monospace;background:#111;color:#eee;padding:14px}pre{white-space:pre-wrap;border:1px solid #333;padding:12px;border-radius:8px}</style></head><body><h2>Extracted Elements ('+count+')</h2><pre>'+results.join('\\n\\n')+'</pre></body></html>');w.document.close()};})();
Advertisement
Add Comment
Please, Sign In to add comment