javascript - 破坏 Chrome 缓存以进行浏览器同步重新加载
问题描述
我的浏览器同步工作正常,但我仍然很难缓存以前的 html。即使检查了 Chrome 的“禁用缓存”,甚至在隐身模式下!
要加载页面更改,我总是必须“清除缓存和硬重新加载”。
我想知道,是否可以让浏览器同步重新加载相同的 url,但使用哈希作为查询参数?喜欢:
https://my.flask.com/?q=jsd094334jn3io482048 (每次使用不同的哈希)
我的特定设置是我正在本地域上开发一个烧瓶应用程序:https ://my.flask.com/带有自签名证书。我没有使用端口,因为我试图以各种可能的方式模仿生产。
我正在通过browser-sync-webpack-plugin
页面底部的和脚本使用浏览器同步:
<script id="__bs_script__">
document.write("<script async src='https://HOST:3060/browser-sync/browser-sync-client.js?v=2.24.4'><\/script>".replace("HOST", location.hostname));
</script>
更改时的热重载在 webpack 和浏览器同步中都应该正常工作。网页加载的资产(css、js)被散列(或指纹或其他),因此它们被设置为绕过更改缓存。所以他们不是问题。
我无法弄清楚为什么 / 和 /[route] 的重新加载会被缓存,以及如何绕过它!
任何帮助表示赞赏
更新
在这一点上,我最好的猜测是问题不在于缓存——而是浏览器同步在 webpack 构建完全完成之前触发了刷新。
解决方案
问题不在于缓存,而是 browsersync 在 webpack 构建完成之前触发了刷新。添加reloadDelay: 500
有帮助
推荐阅读
- eclipse - “未找到 ID 为 'org.xtext.xtend' 的插件。” 错误
- xcode - 无法打开 Xcode 源代码控制(存储库已锁定)
- apache-spark - 可以从命令提示符运行 pyspark.cmd 但不能运行 pyspark
- java - 使用正则表达式从字符串中获取字符串
- alexa - Amazon Alexa Intent 无法识别插槽
- swift - 如何在 Safari 会话和 ios 应用程序之间传递数据
- magento2 - 如何在结帐时保存新的地址属性
- angular - Angular 6如何在用户滚动到div id时将导航栏菜单设置为活动状态
- python - 如何从python中的文件中获取列表
- javascript - 如何以正确的格式从 js 获取日期?月份和日期颠倒