情况:我有一个简单的 HTML 页面,它有一个像这样的普通脚本标签
<script src="main.js"></script>
Run Code Online (Sandbox Code Playgroud)
加载 html 后,我更新 main.js ,并重新加载(通过 UI 按钮)。
问题我的新 JS 没有被占用,我必须关闭应用程序并再次打开它。
我所做的尝试: - 不使用 webEngine.reload() ,而是 webEngine.load() - 每次重新加载时制作一个新的浏览器。- 使用新的浏览器创建一个新阶段 - 设置所有节点缓存关闭 - 在 HTML 以下代码中
<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" />
Run Code Online (Sandbox Code Playgroud)
-InetAddressCachePolicy:
InetAddressCachePolicy.setNegativeIfNotSet(InetAddressCachePolicy.NEVER);
Run Code Online (Sandbox Code Playgroud)
-VM 选项:-Dnetworkaddress.cache.ttl=0。
问题 有没有办法删除缓存或强制 WebView 重新加载所有资源,而不是每次更新时在 JS 文件名后附加一个数字?
注意:我使用 NetBeans 7.3 和最新的 Java(更新 22)