Inject JavaScript code into every page (e.g. to help with debugging). For example, make your own wrapper for console logging.

Latest Version

Version
1.0.1
Update
March 8, 2019
Size
152KiB
Developer
Category
Users
1,000+
Rating
4.75 ★
Manifest Version
2
Web Store Status
Languages Support
English
See more
Permissions
Storage
See more

Web Injector Extension

Web Injector injects whatever custom JavaScript code you want into every web page. You can write an advanced wrapper for console logging; include utility functions for debugging; hide elements by class or id; or any other creative thing you can think of. I hope you enjoy this extension, and if you have ideas for improvement, please share!
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "manifest_version": 2, "name": "Web Injector", "short_name": "W{I}, "author": "Trevor Reed", "description": "Inject JavaScript code into every page (e.g. to help with debugging). For example, make your own wrapper for console logging.", "version": "1.0.1", "permissions":[ "storage" ], "icons": { "16": "icon16.png", "48": "icon48.png", "128": "icon128.png" }, "background": { "persistent": false, "scripts": ["jquery.min.js","bg.js"] }, "options_page": "options.html", "content_scripts":[ { "matches": ["*://*/*"], "run_at": "document_end", "js": ["content.js"] } ]}
Read more

Similar Extensions

icon

Console Injector Extension · Developer Tools 1,000+ 12 ★ 20.4KiB

icon

InjectCode Extension · Developer Tools 1,000+ 26 ★ 215KiB

icon

Dev Helpers Extension · Developer Tools 1,000+ 6 ★ 135KiB

icon

Scripter debugger extension Extension · Developer Tools 1,000+ 2 ★ 1.04MiB

icon

Injector Extension · Developer Tools 1,000+ 24 ★ 1.53MiB

icon

JScript tricks Extension · Developer Tools 1,000+ 50 ★ 340KiB

icon

Javascript & Css auto injection Extension · Developer Tools 1,000+ 14 ★ 899KiB

icon

JS Inject Extension · Developer Tools 1,000+ 0 ★ 551KiB

icon

Inject Code Extension · Developer Tools 1,000+ 7 ★ 2.96MiB

icon

JavaScript Injector Extension · Developer Tools 1,000+ 33 ★ 397KiB

icon

Javascript Injector Extension · Developer Tools 1,000+ 9 ★ 59.53KiB

icon

LiveScriptConsole Extension · Developer Tools 1,000+ 2 ★ 388KiB

icon

JS-Exec Extension · Productivity 1,000+ 3 ★ 1.83MiB

icon

Advanced Page Injector Plus Extension · Developer Tools 1,000+ 2 ★ 44.84KiB

icon

Web Code Injector Extension · Developer Tools 1,000+ 5 ★ 2.36MiB

icon

Inject Code Extension · Developer Tools 1,000+ 10 ★ 4.7MiB

icon

Code Injector Extension · Developer Tools 1,000+ 10 ★ 110KiB

icon

Witchcraft: JS/CSS injector Extension · Developer Tools 1,000+ 10 ★ 27.24KiB

icon

Website scripting Extension · Developer Tools 1,000+ 20 ★ 111KiB

icon

ABC JS-CSS Injector Extension · Developer Tools 1,000+ 5 ★ 1.83MiB

icon

Live Custom CSS,JS injector on pages Extension · Developer Tools 1,000+ 35 ★ 140KiB

icon

Scripty - Javascript Injector Extension · Productivity 1,000+ 69 ★ 22.85KiB

icon

Custom JavaScript for Websites 2 Extension · Developer Tools 1,000+ 129 ★ 588KiB

icon

Script Menu Extension · Productivity 1,000+ 13 ★ 253KiB

User reviews

icon

Ajoe Alex (ID: 0000005a8afcd481) Voted 5 ★ - Updated 01/31/2019 excellent.Just What I wanted. could be better to have a button to start injecting or stop injecting.

icon

Muhammet Ali Petek (ID: 000000095ca3056a) Voted 5 ★ - Updated 10/17/2017 Excellent. There are a lot of extensions do injection for domain. But this injects to all pages, every page. Awesome. Here is my darkener, I just dont want to see white anymore. function rgb2hsl(rgbArr){ var r1 = rgbArr0 / 255; var g1 = rgbArr1 / 255; var b1 = rgbArr2 / 255; var alpha = rgbArr3 ? rgbArr3 : 1; var maxColor = Math.max(r1,g1,b1); var minColor = Math.min(r1,g1,b1); //Calculate L: var L = (maxColor + minColor) / 2 ; var S = 0; var H = 0; if(maxColor != minColor){ //Calculate S: if(L < 0.5){ S = (maxColor - minColor) / (maxColor + minColor); }else{ S = (maxColor - minColor) / (2.0 - maxColor - minColor); } //Calculate H: if(r1 == maxColor){ H = (g1-b1) / (maxColor - minColor); }else if(g1 == maxColor){ H = 2.0 + (b1 - r1) / (maxColor - minColor); }else{ H = 4.0 + (r1 - g1) / (maxColor - minColor); } } L = L * 100; S = S * 100; H = H * 60; if(H<0){ H += 360; } var result = H, S, L, alpha; return result; } function hslToRgb(h, s, l, a) { var r, g, b; if (s == 0) { r = g = b = l; // achromatic } else { function hue2rgb(p, q, t) { if (t < 0) t += 1; if (t > 1) t -= 1; if (t < 1/6) return p + (q - p) * 6 * t; if (t < 1/2) return q; if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; return p; } var q = l < 0.5 ? l * (1 + s) : l + s - l * s; var p = 2 * l - q; r = hue2rgb(p, q, h + 1/3); g = hue2rgb(p, q, h); b = hue2rgb(p, q, h - 1/3); } return r * 255, g * 255, b * 255, a; } function hexToRGB(hex, alpha) { var r, g, b; if(hex.length < 5){ r = parseInt(hex.slice(1, 2), 16), g = parseInt(hex.slice(2, 3), 16), b = parseInt(hex.slice(3, 4), 16); }else{ r = parseInt(hex.slice(1, 3), 16), g = parseInt(hex.slice(3, 5), 16), b = parseInt(hex.slice(5, 7), 16); } if (alpha) { return "rgba(" + r + ", " + g + ", " + b + ", " + alpha + ")"; } else { return "rgb(" + r + ", " + g + ", " + b + ")"; } } function parseRGB(str){ return str.replace(/^\d,/g, '').split(','); } function bgcToHSL(bgc, type){ var rgba, hsla; if(type == 'hex'){ rgba = hexToRGB(bgc,1); rgba = parseRGB(bgc); if(rgba.length == 3) rgba.push(1); } if(type == 'rgb'){ rgba = parseRGB(bgc); if(rgba.length == 3) rgba.push(1); } if(type == 'hsl'){ hsla = parseRGB(bgc); if(hsla.length == 3) hsla.push(1); } hsla = rgb2hsl(rgba); hsla.forEach((e,i)=>{hslai = Math.round(e);}); return hsla; } function _darkit(e){ if(e.getAttribute('data-darkened')) return; e.setAttribute('data-darkened', true); var style = window.getComputedStyle(e); var bgc = style.getPropertyValue('background-color'); var bgct; var clr = style.getPropertyValue('color'); var bg = style.getPropertyValue('background-image'); if(bgc == '' || bgc == 'initial' || bgc == 'inherit' || bgc == 'transparent') return if(bg.indexOf('gradient') !== -1) console.log(bg); if(bgc.indexOf('rgb') !== -1) bgct = 'rgb'; if(bgc.indexOf('hsl') !== -1) bgct = 'hsl'; if(bgc.indexOf('#') !== -1) bgct = 'hex'; var bgHsl = bgcToHSL(bgc, bgct); //var newRgb = hslToRgb(bgHsl0, bgHsl1, bgHsl2, bgHsl3); var lightness = bgHsl2 > 40 ? bgHsl2 - 20 : bgHsl2 / 2; var newBgc = `hsla(${bgHsl0}, ${bgHsl1}%, ${lightness}%, ${bgHsl3})!important`; //console.log(newBgc); // e.style.background = 'none'; var existingStyle = e.getAttribute('style'); e.setAttribute('style', existingStyle + ';background-color:' + newBgc); //e.style.color = '#ccc'; //e.style.borderColor = '#555'; } _darkit(document.querySelector('body')); document.querySelectorAll('body *').forEach(e=>{ _darkit(e); }); document.addEventListener('DOMNodeInserted', (e)=>{ document.querySelectorAll('body *').forEach(e=>{ _darkit(e); }); });

icon

Josh Lowery (ID: 000000d253b98acc) Voted 5 ★ - Updated 01/23/2015 Perfectly perfect!