我已经编写了一个 Chrome 扩展程序来清除浏览器地址栏中的 TYPO3 CMS 缓存。
现在我想添加一个可选功能,在页面刷新时自动清除缓存。这意味着,当用户按 F5、CTRL+R、单击工具栏中的重新加载图标或单击上下文菜单中的“重新加载”时,首先应该执行我的 ajax 脚本(以清除 CMS 缓存),然后,页面可能重新加载。
有没有可能用 Chrome API 做到这一点?
我首先在内容脚本中尝试了该window.onbeforeupdate
事件——这总是在页面重新加载时触发,而且如果我关闭窗口或切换到另一个网站也会触发。此外,我不能告诉浏览器在这里等待我的 ajax 请求。
有效的是使用控制键检查document.onkeydown
键 116 (F5) 和 82 (R) 并使用event.preventDefault()
。但这不会涵盖刷新缓存的另外两种可能的情况。
谢谢!