1

我有一个在 kiosk 中运行的 web 应用程序,它是用greasemonkey 设置的,这样我们就可以自定义关于应用程序的一些小东西,并确保自定义只发生在 kiosk 上。我一直在研究 GM api,希望它有一些影响浏览器设置的功能,但可惜它看起来只影响在浏览器中运行的页面。当应用程序中发生某个事件时,我有没有办法告诉浏览器清除它的缓存?

4

2 回答 2

1

您可能会查看“清除缓存按钮”- Firefox-Addon
下载(不安装)扩展,解压(使用 7zip、WinRar、WinZip、WinAce 等),然后查看 onclick 执行的代码。这应该与 Greasemonkey 脚本一样工作。

如果您只是复制粘贴他的解决方案,请不要忘记向原始作者添加注释!

〜克里斯

于 2009-12-01T13:49:25.660 回答
1

普通的javascript没有权限这样做,这显然是一个安全漏洞。

GM javascript 也没有足够的权限。Firefox 扩展以提升的权限运行,这就是该插件可以清除缓存的原因。

一些选项:

  1. 如果您制作自己的 Firefox 扩展,从“清除缓存按钮”开始,它可能会清除某种事件和/或计时器的缓存。

  2. JavaScript 可以重新加载页面,并指定不使用缓存:window.location.reload(true).

  3. 您可以设置一个 cron 作业或 Windows Scheduled Task来杀死 firefox 任务,每天一次,运行CCleaner之类的东西,然后重新启动 Firefox。

    无论如何,这可能是一个好主意,因为如果运行时间过长,Firefox 往往会陷入困境并占用内存。同样,您可能会考虑重新启动整个计算机并在每次重新启动时进行清理。

于 2010-05-29T08:33:23.143 回答