Web Injector

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 for Web Injector
5.00 (Rating count: 7)
Merlin
See reviews for Web Injector on Chrome Web Store
Recent reviews for Web Injector
Recent rating average: 5.00
All time rating average: 5.00
Rating filters
5 star
100% (4)
4 star
0%
3 star
0%
2 star
0%
1 star
0%
Date Author Rating Lang Comment
2019-01-31
Ajoe Alex
Ajoe Alex
excellent.Just What I wanted. could be better to have a button to start injecting or stop injecting.
2017-10-17
m.ali petek
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
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
Josh Lowery
Perfectly perfect!