我想要一个5个字符的字符串,由从集合中随机挑选的字符组成[a-zA-Z0-9]
.
使用JavaScript执行此操作的最佳方法是什么?
我注意到一些浏览器(特别是Firefox和Opera)非常热衷于使用.css和.js文件的缓存副本,即使在浏览器会话之间也是如此.当您更新其中一个文件但用户的浏览器继续使用缓存副本时,这会导致问题.
问题是:在更改文件时,强制用户浏览器重新加载文件的最优雅方法是什么?
理想情况下,解决方案不会强制浏览器在每次访问页面时重新加载文件.我会发布自己的解决方案作为答案,但我很好奇,如果有人有更好的解决方案,我会让你的投票决定.
更新:
在这里讨论了一段时间后,我发现John Millikin和da5id的建议很有用.事实证明,有一个术语:自动版本控制.
我在下面发布了一个新的答案,它是我原来的解决方案和John的建议的组合.
SCdF建议的另一个想法是将伪造的查询字符串附加到文件中.(一些Python代码自动使用时间戳作为伪造的查询字符串由pi提交.).但是,有一些关于浏览器是否会使用查询字符串缓存文件的讨论.(请记住,我们希望浏览器缓存文件并在以后的访问中使用它.我们只希望它在更改后再次获取文件.)
由于不清楚伪造的查询字符串会发生什么,我不接受这个答案.
我已经对此进行了很多搜索,但我找不到任何真正有效的解决方案:我们正在使用大量的 javascript/css 文件构建一个 Web 应用程序,这些文件随时可以修改。问题是我们需要客户端的浏览器始终获取脚本的最新版本。
我们尝试添加 GET 查询 (?v=CurrentDate),但浏览器会继续加载旧脚本,直到您点击刷新几次或执行 CTRL+F5。
我们要避免的一件事是将这些文件存储在不同的文件夹中,例如 /scripts/v1.0/,然后是 /scripts/v2.0/...
我们使用 ASP.NET MVC 5、Bootstrap 和 JQuery。一件重要的事情:我们只想避免一些脚本/CSS 缓存,而不是全部。
我真的很感谢你的帮助!谢谢!
构建后我想要一个根文件夹中的配置文件(JSON)来配置我的应用程序。
像Translation
和API Urls
和...
我可以使用 create react app 来做到这一点吗?