I created a cms application that use CKEDITOR and when I add some functionality to CKEDITOR I need to refresh some CKEDITOR .js /.css file.
But CKEDITOR force the browser to cache them.
I see that it uses a querystring to all .js/.css files
This querystring reflect the CKEDITOR version I suppose:
/Js/ckeditor/config.js?t=CAPD
/Js/ckeditor/lang/it.js?t=CAPD
/Js/ckeditor/plugins/onchange/plugin.js?t=CAPD
Is there an embedded method to do that in CKEDITOR?
I could not find anything in the documentation. I'm using CKEDITOR 4
The main problem is that when I upload some changes they are not updated by the clients and new functionality are not available or worst case CKEDITOR does not work.
I have found a quite elegant way:
It is enough to set:
CKEDITOR.timestamp='ABCD';
just after you link ckeditor.js or anyhow before ckeditor loads all its files
this is the variable CKEDITOR uses to add timestamp to all .js .css files it loads dynamically.
So every time I change those files I update that variable and browsers will reload them.
For me setting CKEDITOR.timestamp = +new Date
works super fine. I wrote it in a JS that will be loaded before any other CKEditor JS will be loaded (see my custom Drupal module).
Now the query that is appended to the custom plugin or custom config JS gets refreshed every time I reload my browser. I guess that might work with custom CSS as well, but I didn't test that.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With