I want to hide the source of JS from direct access. So I thought to produce a disposable JS file. I use a temporary session cookie. The cookie is set before including JS file and expires then.
rather than the idea itself, my exact question is that how a browser manipulate the JS file? Does it cache a copy of JS file as soon as we write <script>
tag or the script tag is just a reference and the browser should have access to JS file all times?
sample asp source:
<html>
<body>
<% response.cookies("tempJs")="yes"%>
<script src="myscripts.asp"></script>
<% response.cookies("tempJS")="no"%>
</body>
</html>
Sample disposable JavaScript (myscripts.asp):
<%
response.ContentType="text/javascript"
if request.cookies("tempJs")="yes" then
%>
document.write ("Hello world");
<%
end if
%>
My answer is not the answer to the question you have asked but is probably still what you are looking for.
You need to understand the difference between scripts being executed on the server side and the scripts being executed on the client side.
Javascript executes on the client side so anything written between <%%>
tags have no effect ones the js has been given in response.
So what you are essentially doing is.
yes
then<script></script>
tag to your response and then no
. The value of the variable is sent back with the response as a Cookie.myscripts.asp
Having the value no set in the cookie which is added to the request. no
and renders the script accordingly. Which is your case is without the line document.write ("Hello world");
(This is probably the reason you are asking about the caching issues. It is not getting cached.)