This documentation explains how to build a basic Chrome Extension using Manifest V3.
The example creates a popup with a button. Clicking the button triggers an alert.
- Google Chrome (latest version)
| javascript:(function(){if(window.__tabRecActive){alert('Tab Recorder is already running.');return;}window.__tabRecActive=true;var css='#tab-rec-ui{position:fixed;top:12px;right:12px;z-index:2147483647;background:rgba(17,17,17,.92);color:#fff;padding:10px 12px;border-radius:10px;font:13px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.35)}#tab-rec-ui button{background:#1f6feb;border:0;color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer}#tab-rec-ui button[disabled]{opacity:.55;cursor:not-allowed}#tab-rec-ui .row{margin-top:6px}#tab-rec-ui .muted{opacity:.8;font-size:12px}';var style=document.createElement('style');style.textContent=css;document.head.appendChild(style);var ui=document.createElement('div');ui.id='tab-rec-ui';ui.innerHTML='<div style="font-weight:600;margin-bottom:6px">Tab Recorder</div><div class="row"><button id="tr-start">Start</button> <button id="tr-pause" disabled>Pause</button> <button id="tr-stop" disabled>Stop</button></di |
| javascript:(()%3D%3E%7B!function()%7Bconst%20e%3D%7Bname%3A%22Citation%20Tool%22%2Ccredits%3A%22by%20%40magasine%22%7D%2Ct%3D%7Bid%3A%225d43e4a38323880f34a1da6e7c96ad0e%22%2Cuser%3A%22magasine%22%2Cfilename%3A%22citationTool.js%22%7D%2Co%3D%60gist-cache-%24%7B%22citation-tool%22%7D%60%2Ca%3Dwindow.trustedTypes%3F.createPolicy%3F.(%22citationToolPolicy%22%2C%7BcreateScript%3Ae%3D%3Ee%7D)%3Bfunction%20n(e)%7Bconst%20t%3Ddocument.createElement(%22script%22)%3Bt.type%3D%22text%2Fjavascript%22%3Bconst%20o%3Da%3Fa.createScript(e)%3Ae%3Bt.textContent%3Do%2Cdocument.documentElement.appendChild(t)%2Ct.remove()%7Dconst%20c%3D%60https%3A%2F%2Fgist.githubusercontent.com%2F%24%7Bt.user%7D%2F%24%7Bt.id%7D%2Fraw%2F%24%7Bt.filename%7D%60%3Bfetch(c).then((e%3D%3E%7Bif(!e.ok)throw%20new%20Error(%22Falha%20ao%20buscar%20c%C3%B3digo.%22)%3Breturn%20e.text()%7D)).then((t%3D%3Efunction(t%2Ca%3D%22remote%22)%7BlocalStorage.setItem(o%2CJSON.stringify(%7Bcode%3At%2Ctimestamp%3ADate.now()%7D))%2Cconsole.info(%60%5B%24%7Be.name%7D%5D%2 |
| javascript: (() => { | |
| // Configurações e constantes | |
| const CONFIG = { | |
| BADGE_ID: "citation-tool", | |
| HOST_ID: "citation-tool-host", | |
| APP_INFO: { | |
| name: "Citation Tool", | |
| version: "v20250526", // sanitize function simplified | |
| credits: "by @magasine", | |
| }, |
| javascript:(function () { | |
| var active; | |
| var magnifier; | |
| var config = { | |
| scale: 75, | |
| size: 160, | |
| image: | |
| 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAOtMSURBVHgBrL2JmuS4zQQYyK/e/42b2EkRcUDVY/vf3bKnK0spkSCOwMFDdep0F9D9z3/8jfjvfe379/nnn8/8ffqfazXfNY7a+V77XsXz/fk2gn9+8+o//3yb+efSP9fm7+jj+89zb+G2Md9/H2A/35/nmtqfNqfvnr+zv2Yb/9x/YpykjW3c5jyuZzxFOmYMddvxdQQN7/H85fr7+3m+a9N3ya+hA+r7PG1eWmroJy+f+5//7ee+f3+fAeV0QgY1fOiQpfofum9nz7OHn3vz6bY/8v/S+X2W8unh29CdfFMfKY/gbS/5//MF9eBLy/eGD/XYcmGf5PXhtTN8Hxm7r9Ad9pn2Eboj+SPtZNp7Pv/zz+efcZwWzzrsY/X5Hcsaw9D7JbggmtIeT8hC16RD2LpyIJ6fe+n5/WP1ug8UB3a16FGs5pejI50KNMTRqJ4nxuKevz/Tfl0lGF1/nqsYxHQ7mvXPr88/9zbBokJF2ko49J1/tLhG4fkbYRjdVOPnMvzXvf/5xDYevRrg4p2PUpzhHHlgnpAy0TAGUexsjKLMaff7vX42P9hvVQ1wmGgaVdOcef3Lqw9u3xLkUEY6SXNodX1GBqAy9+0XIbfRmOJjyLF/CT+3WdLesAH2lVd9an7jkZdQ76UHNbI+//yvKq+HBoweSZ/68orGGMwaJ1OPo/oa42DT0+B95ozkpt1nvE1lhMVMhQs7CF0cxbnjnRs+dXXz80+/f1IGo4hz+9MV++4BSOp5fVq8fcBhQ |
| javascript:(function () { | |
| var active; | |
| var magnifier; | |
| var config = { | |
| scale: 75, | |
| size: 160, | |
| image: | |
| 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAOtMSURBVHgBrL2JmuS4zQQYyK/e/42b2EkRcUDVY/vf3bKnK0spkSCOwMFDdep0F9D9z3/8jfjvfe379/nnn8/8ffqfazXfNY7a+V77XsXz/fk2gn9+8+o//3yb+efSP9fm7+jj+89zb+G2Md9/H2A/35/nmtqfNqfvnr+zv2Yb/9x/YpykjW3c5jyuZzxFOmYMddvxdQQN7/H85fr7+3m+a9N3ya+hA+r7PG1eWmroJy+f+5//7ee+f3+fAeV0QgY1fOiQpfofum9nz7OHn3vz6bY/8v/S+X2W8unh29CdfFMfKY/gbS/5//MF9eBLy/eGD/XYcmGf5PXhtTN8Hxm7r9Ad9pn2Eboj+SPtZNp7Pv/zz+efcZwWzzrsY/X5Hcsaw9D7JbggmtIeT8hC16RD2LpyIJ6fe+n5/WP1ug8UB3a16FGs5pejI50KNMTRqJ4nxuKevz/Tfl0lGF1/nqsYxHQ7mvXPr88/9zbBokJF2ko49J1/tLhG4fkbYRjdVOPnMvzXvf/5xDYevRrg4p2PUpzhHHlgnpAy0TAGUexsjKLMaff7vX42P9hvVQ1wmGgaVdOcef3Lqw9u3xLkUEY6SXNodX1GBqAy9+0XIbfRmOJjyLF/CT+3WdLesAH2lVd9an7jkZdQ76UHNbI+//yvKq+HBoweSZ/68orGGMwaJ1OPo/oa42DT0+B95ozkpt1nvE1lhMVMhQs7CF0cxbnjnRs+dXXz80+/f1IGo4hz+9MV++4BSOp5fVq8fcBhQ |
| /* | |
| * @fileoverview Quick notes on basic JavaScript stuff | |
| * Via: https://gist.github.com/GeorgeHernandez/4819ba17676da1e14b31073a05c587fe | |
| * FYI: This document assumes Semicolon Insertion (ASI) | |
| */ | |
| /** | |
| * Declaration const let var | |
| * Safety High Medium Low | |
| * Scope Block Block Global or Function |
| (function () { | |
| var datePattern = /(\d{2})\/(\d{2})\/(\d{4})/; | |
| var today = new Date(); | |
| var dateNodes = []; | |
| function isToday(date) { | |
| var now = new Date(); | |
| return date.getDate() === now.getDate() && | |
| date.getMonth() === now.getMonth() && | |
| date.getFullYear() === now.getFullYear(); |
| javascript: (function () { | |
| var pattern = /(?<=\s|^)(?<gSR>\d{2})([\.\/\s-])?(?<gAG>\d{1,4})([\.\/\s-])?(?<gOP>\d{3})([\.\/\s-])?(?<gCONTRATO>\d{1,7})([\.\/\s-])?(?<gDV>\d{2})(?=\s|$)/g; | |
| var textNodes = []; | |
| function recurse(node) { | |
| if (node.nodeType === Node.TEXT_NODE) { | |
| textNodes.push(node); | |
| } else { | |
| for (var i = 0; i < node.childNodes.length; i++) { |
| /** | |
| * Created to download Zoom Cloud recordings that do not have downloads enabled | |
| * Intended to be used as a bookmarklet - fetches embedded player video source and makes it available as a link to download. | |
| * July 2022 | |
| **/ | |
| (function(){ | |
| //get all <video> tags from the page -- this will return an HTMLCollection, NOT an Array | |
| let videos = document.getElementsByTagName('video'); |