Refreshing .js files


M

MartinRinehart

I've got the usual suspects on KDE: Firefox, Konqueror and Opera. All
aggressively cache .js files. I've not figured out a way to remove a
cached .js without closing the browser and restarting it.

This makes them useless while coding .js files. My solution (kludge?)
is to leave what will become .js between <script> </script> tags in
the HTML until it feels like it is fully-featured and totally debugged
and then move it into a .js. As "fullly-featured and totally debugged"
is a rare condition, I've got more JavaScript in HTML than in .js,
where it belongs.

Is there a better way? A browser smart enough to compare time stamps
and reload .js as necessary?
 
Ad

Advertisements

O

optimistx

Is there a better way? A browser smart enough to compare time stamps
and reload .js as necessary?
Why not
<script src="something.js?x='+(Math.random())' ...
?
 
G

Gregor Kofler

(e-mail address removed) meinte:
I've got the usual suspects on KDE: Firefox, Konqueror and Opera. All
aggressively cache .js files. I've not figured out a way to remove a
cached .js without closing the browser and restarting it.

Each browser comes with help files.

Ctrl-F5 does the job for me at least in FF. IIRC F5 skips the cache in
Opera, too.
Or "Disable->Cache" with the web developer extension.
Or clear the cache in the preferences dialog.
Or...

Gregor
 
J

Joost Diepenmaat

I've got the usual suspects on KDE: Firefox, Konqueror and Opera. All
aggressively cache .js files. I've not figured out a way to remove a
cached .js without closing the browser and restarting it.

This makes them useless while coding .js files. My solution (kludge?)
is to leave what will become .js between <script> </script> tags in
the HTML until it feels like it is fully-featured and totally debugged
and then move it into a .js. As "fullly-featured and totally debugged"
is a rare condition, I've got more JavaScript in HTML than in .js,
where it belongs.

Is there a better way? A browser smart enough to compare time stamps
and reload .js as necessary?

Firefox, at least, will refresh all files when reloading using
SHIFT+CTRL+R and SHIFT-F5. I also suspect (but I haven't tested this
explicitly) that setting some aggressive non-caching headers should
make refreshing work on recent versions of all these browsers. And you
probably should do that during development anyway.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
 
D

Dr J R Stockton

In comp.lang.javascript message <[email protected]
g2000hsd.googlegroups.com>, Sun, 24 Aug 2008 10:15:24,
(e-mail address removed) posted:
I've got the usual suspects on KDE: Firefox, Konqueror and Opera. All
aggressively cache .js files. I've not figured out a way to remove a
cached .js without closing the browser and restarting it.

This makes them useless while coding .js files. My solution (kludge?)
is to leave what will become .js between <script> </script> tags in
the HTML until it feels like it is fully-featured and totally debugged
and then move it into a .js. As "fullly-featured and totally debugged"
is a rare condition, I've got more JavaScript in HTML than in .js,
where it belongs.

Is there a better way? A browser smart enough to compare time stamps
and reload .js as necessary?

Try writing the '<script type="text/javascript" src="...js"></script>'
with 'document.writeln', but appending to "...js" '+ +new Date()'. That
might defeat the caching.

Or write a utility to rename the ...js file and change the reference to
it correspondingly.

I assume you've tried shift-reload or similar?

Or run a Windows emulator with a Windows browser in it.
 
Ad

Advertisements

M

MartinRinehart

Thanks, all, for the suggestions. Reading them I went back to Windows
where I learned the FF Windows is NOT FF KDE. Didn't take much
fiddling to get FF Win to reload. FF KDE has not yielded to fiddling.
Looks like a utility to rename the .js and edit the new name into the
HTML is called for. (I really DON'T want to return to a single-desktop
OS.)
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top