Web Injector

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

Total ratings

4.75 (Rating count: 8)
See reviews for Web Injector on Chrome Web Store

User reviews

Recent rating average: 4.71
All time rating average: 4.75

Rating filters

5 star
86% (6)
4 star
0%
3 star
14% (1)
2 star
0%
1 star
0%
Date Author Rating Lang Comment
2024-05-06
Erich Erstu
en Simple and rather easy to work with but unfortunately it has a bug that prevents the script from being saved. Sometimes the script does not save but it does when you click the beautify button.
2019-01-31
Ajoe Alex
excellent.Just What I wanted. could be better to have a button to start injecting or stop injecting.
2019-01-31
Ajoe Alex
en excellent.Just What I wanted. could be better to have a button to start injecting or stop injecting.
2017-10-17
m.ali petek
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 = rgbArr[0] / 255; var g1 = rgbArr[1] / 255; var b1 = rgbArr[2] / 255; var alpha = rgbArr[3] ? rgbArr[3] : 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)=>{hsla[i] = 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(bgHsl[0], bgHsl[1], bgHsl[2], bgHsl[3]); var lightness = bgHsl[2] > 40 ? bgHsl[2] - 20 : bgHsl[2] / 2; var newBgc = `hsla(${bgHsl[0]}, ${bgHsl[1]}%, ${lightness}%, ${bgHsl[3]})!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); }); });
2017-10-17
Muhammet Ali Petek
en 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 = rgbArr[0] / 255; var g1 = rgbArr[1] / 255; var b1 = rgbArr[2] / 255; var alpha = rgbArr[3] ? rgbArr[3] : 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)=>{hsla[i] = 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(bgHsl[0], bgHsl[1], bgHsl[2], bgHsl[3]); var lightness = bgHsl[2] > 40 ? bgHsl[2] - 20 : bgHsl[2] / 2; var newBgc = `hsla(${bgHsl[0]}, ${bgHsl[1]}%, ${lightness}%, ${bgHsl[3]})!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); }); });
2015-01-23
Josh Lowery
Perfectly perfect!
2015-01-23
Josh Lowery
en Perfectly perfect!