cache-control

I installed an update to a webcore application on an IIS server.  When I tested, I found my browser was using a cached version of the application javascript.   I cleared my cache and the problem went away.


I added three lines to my html (cache-control, pragma, expires):
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta >

Will this work?
Was this necessary?
Is there a better way to prevent older webcore javascript from being used?
Will this guarantee that a user will be using the latest version?

Thanks.

You could use the v1.3 auto versioning feature.
See project options : "auto-increment version" 

1) I assume you mean:  "Project Options" "Version Info" "Build number options"

Setting "Auto increment build number" does nothing apparent no matter how I change, build,compile, save, or restart Delphi.   The Delphi version number remains unchanged.

I found nothing about this in the version history or on your website.  Perhaps Web Core does its own version number.  I have no way of knowing.

1a)  Did I make the change you suggested?

1b)  Is the web core version number somehow different from the project version number?

1c)  I have no problem manually changing the version number if that will do the trick.  How does version checking work?

2)  I understand an advantage of using a version number would be to prevent unnecessary downloading of the Javascript.  I would like that to work but right now I just need to make sure my users are unable to load the old javascript from their cache.

2a)  Will these options force the user browser to always reload the web core application?
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />

2b) Are these choices correct or do I need to do something different?

3)  Is there a way I can load the Web Core version number into a label on the form?

Go to project options, set an initial version number 1.0.0 and set Auto-increment version = True
Each time you make a build, the version will increase automatically and the project JS file link will be named in the HTML
<script type="text/javascript" src="Project1_1_0_2.js"></script>


Thank you.  The html and javascript files now have a version number which makes it clear what you are doing.  I had difficulty because I thought the "TMS Web Compile" options were read-only.  Your image shows both vertical and horizontal lines.  There are no vertical or horizontal lines in my IDE.

If the lines were visible, even just the vertical, I would not have had an issue.  I had tried to set the values but had never clicked far enough to the right to be able to change the values.  This made your options appear to be read-only so I assumed you were getting the version information from "Application Version Info".

I can see vertical and horizontal lines in Delphi options but not for TMS Web.

The screenshot is from Delphi 10.2, it might vary depending on Delphi version.