Description from extension meta
Run custom JavaScript on any website.
Image from store
Description from store
Run custom JavaScript on any website. Use this tool to inject custom JavaScript in any website.
Your scripts are kept by the Chrome sync API and applied across domain URLs. You can inject custom JavaScript based on domain or custom Regular Expression (since v3.1.1).
This extension supports dedicated tab to edit your codes since v2.5.1
You can use some built-in libraries such as
* jQuery 1.12.4
* jQuery 2.2.4
* jQuery 3.2.1
* Indefinite Observable 1.0.1
* MooTools 1.6.0
or/and your own external scripts.
Use cases:
* Site debugging (wrong list sort, etc.)
* Extract useful information from website, such as billings/orders metadata
* Hide annoying popups and Ads
* Custom UI
* Anything you can think of :)
Inject large JavaScript: https://github.com/xcv58/Custom-JavaScript-for-Websites-2#how-do-i-inject-large-javascript
New features:
Ace Editor (formating, highlight, undo/redo by hotkeys)
Draft auto save (so doesn't matter when you close the window without saving)
Hosts (websites) switch (you can browse customjs of other websites)
Include external script (eq. Underscore.js is cool)
Thanks to:
Ace - http://ace.c9.io/
Pure - http://purecss.io/
Latest reviews
- (2023-10-26) Николай Друг (NickIAm): It's an insane extension that I cannot live without. It made my life so much easier on so many websites!
- (2023-09-20) Anshu kumar: love it
- (2023-08-22) Nathi Nonthasen: Please allow more code size, import & export.
- (2023-03-23) Ramit Bhalla: Awesome plugin, wish it had an option to run a script automatically when the page loads instead of having to open and click save each time
- (2023-02-08) Hatem Badawi: magical
- (2022-10-28) Alexander Aristizabal: It is great, but today I had a bad experience, I can not simply work with special characters like á, when executed shows a squre for non recognized character
- (2022-10-13) Khalfani Wadlington: It did everything that it said it would do
- (2022-08-31) D Radič: The JavaScript injection worked but could not inject CSS.
- (2022-07-15) Brian Nydegger: Nice tool, thanks
- (2022-02-08) KaRaYeL HAXBALL: Failed to save your script, it's usually because your script is too large to store in storage.sync. Please reduce your script size and try again! We know this problem and try to fix it, please follow this issue if you want.
- (2022-02-06) Suraj Chourasia: It's really that one outstanding extension which I was finding on google... Good work team👍
- (2022-02-05) Donatas Činka: This plugin not perfect, but it does its job. Many similar plugins i tried and only this one works.
- (2022-02-01) Edward Forshaw: Really useful tool. I'm only using it on one website, to vary zoom levels on different pages on the same host.
- (2022-01-28) P YC: 적용 잘되고, 직접 작성하는 자바라 가능성이 무한해요. 저는 성인광고를 지우거나 하는 용도로 써요!
- (2022-01-28) Việt Đậu Minh: Cho đến thời điểm hiện tại thì extension khá tốt và chưa gặp vấn đề gì cả. Khá hài lòng!
- (2021-10-25) Vlad Frank: not working
- (2021-10-13) Quakduck: Hi, I really like your platform but platform but in "All Host & Patterns" list, please add the ability to toggle on/off actions from running when you open a URL so can test and save your work. Also please add the ability to put groups of URL-actions in folders, and to name actions and folders.
- (2021-08-24) Sunder Rawat: work perfectly for custom javascripts
- (2021-08-24) tosl scrubber: After figuring out the convoluted instructions, clicking save does nothing... NOTHING!. Another failed attempt at saving Youtube subs.
- (2021-07-28) Dmitry S: Just great!
- (2021-05-18) Roul P.: SInce version 2 this app works only randomly, also if I clear "disable" this app "for this host" the app activated himself randomly even the browser is restarted. So all in all not usable anymore for me.
- (2021-05-10) 이재진: How to migrate from v2.2.5(poakhlngfciodnhlhhgnaaelnpjljija)? I have so many site script. I can't move it one by one.
- (2021-05-07) Hatef Rostamkhani: Great
- (2021-05-05) Simon Brace: can't handle large scripts, just refuses to save.
- (2021-04-07) Никита: Локально работает! Конфиденциальность есть! Отлично
- (2021-04-03) Mr.Kleiner: perfect
- (2021-03-01) Ondrej Vávra: Unable to save script, says it's too long. No problem with original cjs.
- (2021-01-22) Tamás Kelő-Máté: Please use UTF-8!
- (2021-01-15) Anon Anon: Best of that extensions types.
- (2021-01-08) Sam Prince: This extension is awesome and has made the use of an off-the-shelf corporate web app much more tolerable.
- (2020-11-27) Vu Huu Trieu: cool
- (2020-11-10) YV , etc.: seems, you've broken it with trying to load this ")#%20//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"
- (2020-10-27) Roman Karagodin: I am using this extension with my custom script I created to autofill forms on several sites, and I'm totally satisfied! I switched to this extension from "Custom JavaScript for Websites" (without "2"). Actually, CJS2 is an impoved CJS with several important bugs fixed (e.g., in CJS scripts are often ineditable, because their text in editor mystically disappears, except for the 1st line); also, CJS editor is almost impossible to be dealt with from mobile devices. Unlike the 1st version, CJS2 is totally free of these issues and does what it should do perfectly.
- (2020-10-15) Philippe Léger: Works nicely to inject custom CSS! (function(){ let style = ` <style> .nav-sidepanel__org-list { min-height: 400px; } </style>`; document.head.insertAdjacentHTML("beforeend", style); })(); :)
- (2020-09-24) Hridoy Hasan: awesome extension for appling custom script for any site. Thanks a lot.
- (2020-07-14) YOGESH KUMAR GUPTA: It does not work on Audi website: https://www.audi.de/de/brand/de/neuwagen/a6/rs-6-avant/zubehoer.html I tried inserting below code: window.onload = (event) => { alert('Page loaded') };
- (2020-04-04) Ayman Mansour: Fantastic! I love it!
- (2020-03-04) Marifjon Nadirov: Hi, I really like it! It works great but is how much code we can write is limited? because when I write a lot of code, it shows me an error.
- (2020-02-22) Fadli Heriyansyah: doesn't work in incognito, Already allow in incognito, even simple script such as console.log("1") doesn't work in incognito page, but work on normal page, please fix it, I really like this extension :(
- (2019-12-15) Simple Zone: wow
- (2019-12-06) Магазин Оселя: Works! Thanks!
- (2019-12-04) Boon -: i give 5 star, very good. Many stupid developer leave their production site with javascript broken, need to correct the code before we can submit the form.
- (2019-11-20) L Z: Отлично работает! Первая версия (тоже есть в магазине расширений) почему-то после ошибки обрубала выполнение скрипта и оставалась одна строчка. Тут же всё работает как надо. Спасибо!
- (2019-11-14) Milad Sohrabi: Doesn't work anymore document.getElementsById("txtUsername").value = "10";
- (2019-10-16) Kirill Yunussov: If I could give you 10 stars, I would! Love your extension. Personalizing and customizing the web however I wish. Love it!
- (2019-05-30) Nathi Nonthasen: Please allow more code size.
- (2019-05-11) Hoang Le: very helpful thanks you
- (2019-05-01) Jeremy Belpois: So helpful.
- (2019-03-29) Govarthanan Venunathan: I try to add own js file but its not working how to do that? please help me on this
- (2019-03-25) Jay: love the app but i found a website that it does not accept the injection from this extension.. it would be super if we could fix it!
Latest issues
- (2023-07-22, v:3.4.12) Jovan Ralic: Website unresponsive
Hi! Thank you for this great tool. I needs some help. Can't add JS to this website. Random page: https://torrentz2.nz/search?q=Fire+of+Love The code I've tried: document.addEventListener('DOMContentLoaded', function() { try { // Select all the elements with the class 'dl dt a' let elements = document.querySelectorAll('dl dt a'); if (elements.length === 0) { throw new Error("No elements found with the selector 'dl dt a'."); } // Iterate over the elements for (let i = 0; i < elements.length; i++) { // Add the 'full-hd' class elements[i].classList.add('full-hd'); } } catch (error) { console.error('An error occurred:', error); } }); - (2023-06-07, v:3.4.12) Mihail Antibor: have error on a BPS shipping carrier site
jquery-migrate-1.2.1.js:21 JQMIGRATE: Logging is active jquery-migrate-1.2.1.js:41 JQMIGRATE: jQuery.fn.live() is deprecated migrateWarn @ jquery-migrate-1.2.1.js:41 jquery-migrate-1.2.1.js:43 console.trace migrateWarn @ jquery-migrate-1.2.1.js:43 newsletterchancel.aspx:1 Failed to load resource: the server responded with a status of 404 () retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1947 1-1-1 VM69 run.js:2 Custom JavaScript for websites enabled. Please visit https://xcv58.xyz/inject-js if you have any issue. connect.facebook.net/en_US/fbevents.js:1 Failed to load resource: net::ERR_BLOCKED_BY_CLIENT jquery-migrate-1.2.1.js:41 JQMIGRATE: jQuery.fn.attr('selected') may use property instead of attribute migrateWarn @ jquery-migrate-1.2.1.js:41 jquery-migrate-1.2.1.js:43 console.trace migrateWarn @ jquery-migrate-1.2.1.js:43 VM69 run.js:2 Custom JavaScript for websites enabled. Please visit https://xcv58.xyz/inject-js if you have any issue. retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1547 Uncaught TypeError: $(...).valid is not a function at HTMLInputElement.<anonymous> (retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1547:30) at Function.each (VM151 jquery.min.js:2:2715) at r.fn.init.each (VM151 jquery.min.js:2:1003) at HTMLInputElement.ValidateAndSubmit (retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1546:77) at HTMLInputElement.dispatch (jquery.js:6:10283) at r.handle (jquery.js:6:6305) retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1377 Uncaught TypeError: $(...).modal is not a function at Object.success (retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1377:54) at i (VM151 jquery.min.js:2:28017) at Object.fireWith [as resolveWith] (VM151 jquery.min.js:2:28783) at A (VM151 jquery.min.js:4:14035) at XMLHttpRequest.<anonymous> (VM151 jquery.min.js:4:16323) VM69 run.js:2 Custom JavaScript for websites enabled. Please visit https://xcv58.xyz/inject-js if you have any issue. retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1377 Uncaught TypeError: $(...).modal is not a function at Object.success (retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1377:54) at i (jquery.min.js:2:28017) at Object.fireWith [as resolveWith] (jquery.min.js:2:28783) at A (jquery.min.js:4:14035) at XMLHttpRequest.<anonymous> (jquery.min.js:4:16323) success @ retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1377 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 (anonymous) @ retouren.aspx?session=088fbb5b88ef465c83baba1ef2a61070:1364 dispatch @ jquery.js:6 r.handle @ jquery.js:6 run.js:2 Custom JavaScript for websites enabled. Please visit https://xcv58.xyz/inject-js if you have any issue. apps-fileview.texmex_20230525.01_p2 srv02.bps-germany.com-1686146351289.log Zoomed out of item. ********************************** my cusotm code - when user CTRL+V on page - a previosly copied fileds are filled into a form if (typeof isJson !== "undefined") { function isJson(str) { try { JSON.parse(str); } catch (e) { return false; } return true; } } document.addEventListener('paste', function(event) { var cb = event.clipboardData; var pastedContent = cb.getData("text/plain") if(isJson(pastedContent)) { addr_ = JSON.parse(pastedContent); $.each( addr_, function( key, value ) { $("input[name*='"+ key.trim() +"']").val(value); - (2023-05-19, v:3.4.12) A.: CSS is wrongly inserted as JS, causing SyntaxError
Hello, I am a long time user of this extension, so first of all thanks for your work. I know there are other extensions more specific for CSS, but I noticed that yours could also deal with that, so I just decided to give it a quick try but I found a problem: even after selecting CSS from the extension drop down menu and saving the code as that, it will end up being added as JS, causing this error in the JS console: SyntaxError: Unexpected token '.' (at data:text/javascript;base64,Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRhaW5lciwgLnl0cC1wYXVzZS1vdmVybGF5IHsgCiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQKfQ==:1:1) I hope you can fix it soon, if you need any other info from me just let me know. - (2023-03-21, v:3.4.12) Ka Ming Lock (Martin Lock): Can not load data, please try to open a new window and try again.
error shows up and i cannot modify my code "Can not load data, please try to open a new window and try again." even if i click "open new window" same thing happen - (2023-03-19, v:3.4.12) Michael Orschel: extension breaks steam checkout
when the extension is enabled at all (doesn't matter if I "disable for this domain") steam's website starts to act up. For example, the checkout flow stops working entirely when trying to buy a game. Perhaps "disabling for this domain" could be made even more strict - (2022-09-13, v:3.4.12) No One (VegaQ8): how to backup all?
is there way to backup all scripts i use ? - (2022-08-20, v:3.4.12) Mattia Cardile: Script runs when extension is disabled for that host
The script I created for a website runs when the extension is disabled for the website in question - (2022-08-20, v:3.4.12) Zaid Foster: Automatically Start on certain Pages
Hi! Great Extension! Is there a way to automatically start the extension, without having to reload the page after pressing "Save"? - (2022-05-02, v:3.4.10) Compte 3: Cookies support
As a Chrome extension, it should have the power to edit cookies (even the ones that normally can't be edited with JavaScript). I don't know if it's already possible, but that can really help with my sort of project. - (2022-01-02, v:3.4.10) Christoff Kruger: Empty Scripts
All hosts with empty scripts (Default comment & really empty should be auto deleted) (So many accidental clicks just auto adds the site to the hosts - this should not be a thing) - (2021-12-17, v:3.4.10) Petr P.: Will it work with Manifest V3 ?
Chrome will restrain external javascript execution https://developer.chrome.com/docs/extensions/mv3/intro/mv3-overview/#remotely-hosted-code Will app work on future chrome releases? - (2021-11-09, v:3.4.10) Jonas: Settings
It would be great to have an option to export/import all settings. I would love to transfer the settings easily to other computers. Or maybe such option is there? - (2021-10-13, v:3.4.10) Betterthenjy: Important Suggestion.
Hi, I really like your platform but platform but in "All Host & Patterns" list, please add the ability to toggle on/off actions from running when you open a URL so you can test and save your work. Also please add the ability to put groups of URL-actions in folders, and to name actions and folders. - (2021-09-11, v:3.4.10) Marco Camarena: CSS injection
Extension has a javascript and css selector for including, I tried to inject some CSS but doesn't work this option. JavaScript injection works fine, I have a couple of years using this extension since v1. - (2021-08-22, v:3.4.10) ron boehm: Locked out
I have a script I use on a web site, it was working pretty good, but I have run into a problem. As soon as I enter the site, the script does a history.back. Because of that, I can never get cjs to show me the script so I can fix it. How can I get access? Or failing that, can I recover my script and reset CJS... - (2021-08-05, v:3.4.10) QuePasa: File size
Hello man, i have a problem with the size of the script. It always says to me that the script i put it's too large or something like this. Can you please make anything to fix it ? - (2021-07-26, v:3.4.8) Michael Mathewson: pay for support
Hi, One of my employees is having an issue with cjs extension. I have tried to fix but cannot. Am I able to pay you to work with her to fix? - (2021-05-27, v:3.4.8) Sara Peeters: jQuery not loading
Despite selecting jQuery as predefined library, half of the time it doesn't seem to be loading, and I get the error message "Uncaught ReferenceError: $ is not defined". Even by adding jQuery manually in the external scripts, it doesn't seem to be loading in time. - (2021-05-24, v:3.4.8) Marcel Cardoso: Help to make new extension look like this!
How much do you charge to make new extension look like this one? - (2021-01-22, v:3.4.8) Tamás Máté: character encoding
string compare not working, becose you don't use UTF-8. A simple alert('helló világ') is unreadible. - (2021-01-13, v:3.4.8) TancuushiyBegemotik: I there a way to modify url regexp?
Let's say, to change https://example./com/$ to https://example./com/(\d*)$ - (2020-11-10, v:3.4.7) YV , etc.: ext is broken
seems, you've broken it with trying to load this ")#%20//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js" - (2020-11-10, v:3.4.7) hgbs leo: cjs bug!!!!!!
Script injection is broken as of Nov 9 update. Creates mangled header nodes: As below: <script src="chrome-extension://ddbjnfjiigjmcpcpkmhogomapikjbjdk/base.js"></script> <script src="# Uncomment address of script below or type your own (one per line and must end with"></script> <script src=") # //cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> Relatedly, causes a SyntaxError at: chrome-extension://ddbjnfjiigjmcpcpkmhogomapikjbjdk/run.js:formatted:260 - (2020-11-10, v:3.4.7) Gamesmen Jordan: Broken injection as of Nov 9 update
Script injection is broken as of Nov 9 update. Creates mangled header nodes: As below: <script src="chrome-extension://ddbjnfjiigjmcpcpkmhogomapikjbjdk/base.js"></script> <script src="# Uncomment address of script below or type your own (one per line and must end with"></script> <script src=") # //cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> Relatedly, causes a SyntaxError at: chrome-extension://ddbjnfjiigjmcpcpkmhogomapikjbjdk/run.js:formatted:260 - (2020-09-02, v:3.4.6) Aleksey Danchenko: Hi!
I try to run script like below but it seems tries to read code in rows.... So i cant define function to reuse it later. Another thing setInterval seems not working function sayHi() { alert('Hello, world!'); } - (2020-08-22, v:3.4.5) Ryuzaki: History of inserts
I have been using this extension for a while, and it stopped working on a site. I noticed that that url have changed, so it lost the code. I want to retrieve it to use it again, but I can't. How can I access it? - (2020-07-20, v:3.4.5) Evgeniy Shevchenko: Playing audio
I tried to play audio using custom script. Nothing works. If I run the same code in console it works. The same behavior with clicking on button. I tried to play using click simulation. - (2020-02-27, v:3.4.4) Ben de Vette: CJS on Youtube
Hi, I really like CJS and am using it for several websites to hide ads. However, on Youtube CJS is not started until I click the CJS logo. Can't CJS start automatically? If so, what am I doing wrong. Thanks, Ben - (2019-10-25, v:3.4.1) Marco Argenti: External libraries not injected
I have a script that uses jQuery 2.2.4 injected form the menu of your extension but I see that it isn't injected and the script uses the jQuery library already inserted in the page. Can you please fix this issue? Thanks! - (2019-10-24, v:3.4.1) Konstantin: predefined scripts becomes not working
Hi, im using your extension for a long time and i think its great. But with last update from 22 october (version 3.4.1), predefined scripts becomes not working (i was trying to use jquery, all versions). Console says: Uncaught ReferenceError: $ is not defined. Before this update everything was working fine. I hope you fix this as soon as possible, anyway thanks for extension - (2019-09-26, v:3.4.0) David Gazdovsky: Running setInterval function
I run this code on page, but it doesnt do anythig: document.onload = function() { setInterval(function() { document.getElementById("ads_left").style.display = "none" }, 1000); } in the same time it works if I run it from chrome dev tools - (2019-09-03, v:3.3.5) Roger Fos Soler: Disable console message when url does not match
Hi! First thank you for this extension, I have been using it for some time now and it's working perfectly. But I have a little suggestion: When I have the extension on a browser, It shows the message which says "Custom JavaScript for websites enabled...". But it is shown on every page, not only the ones I have scripts for. I think it would be better to only be shown on that pages. If the message it's shown to help new users that don't understand why the script it's not working, so they have a way to go to the help link, I think It would be better to show a "help" button next to the "donate" button on the main cjs screen. Thank you very much for your efforts! - (2019-07-29, v:3.3.1) david gravel: calling on external script not working
I likely am not understanding it right but when I try calling on a script located on my server. the script does not load. I am a bit confused about the instruction given to add an external script. In a normal situation I would write: <script src="https://www.domain.com/customscript/file.js" charset="utf-8"></script> but it doesn't work. Would you show me a exact example of what i am supposed to do if the path of file is as followed: https://www.domain.com/customscript/file.js - (2019-03-25, v:3.3.1) Jay: love the app but i found a website that it does not work with the injector.. :(
hello guys! i love the extension.. is the best one bay far from the other ones on the chrome store.. bu t recently i found a website that it just does not accept the injection.. at the end i found another extension that does the job instead.. but can we fix it in some way? i love your extension better..and i dont really like the other one :( would be super if we could in private tough google hangouts so that i can explain u better the issue.. - (2019-03-01, v:3.3.0) Georg Poweleit: Where are js files stores
Hi, I like your tool a lot. Now I ran into an issue, that it is blocking right when it starts. Using the reset button does not work at all so I'd like to delete the script. Is there a place in the file system to loot at? Thanks a lot. - (2019-01-10, v:3.2.2) Zeus2459: cjs stopped working
It just says "Can not load data, please open a new window and try again" even after restarting my computer - (2018-12-09, v:3.2.2) Israel Gonzalez: Close Tab
Anyway to close a tab using some javascript? Tried the windows.close() option, but it results in the following error "Scripts may close only the windows that were opened by it." - (2018-11-20, v:3.2.2) Nathi Nonthasen: CJS sends double requests to server.
I have nodejs installed, when I open localhost website Chrome with CJS enable sends double requests to server. When I disable CJS everything is ok. i set "express" in node to receive two GET parameters like this app.get("/v1/test/:ID1/:ID2", (req, res)=>{.............}) Default request all params can be read by node, but 2nd request (which double-send) only first param can be read.. There's no problem in Microsoft EDGE.
Statistics
Installs
50,000
history
Category
Rating
4.3937 (127 votes)
Last update / version
2023-02-20 / 3.4.12
Listing languages
en