我正在与一个问题,我的任务窗格插件在桌面上的Excel 2016年的Mac(OSX)运行时。我已将第一版加载项部署到Web服务器,并成功将对加载项的清单的引用插入到Excel工作簿中,并可以在客户端框(Mac)上看到它的工作情况。然后,我对加载项“foo.js”中的一些JavaScript代码进行了一些更改,然后将这些更改部署到了Web服务器上。现在,当我打开工作簿时,我看不到我从新版本的foo.js期望的行为,而是看到了旧行为。如何确定最新的JS代码是由任务窗格加载项加载的?
我曾尝试:
在同一台Mac,装foo.js直接从Safari中的Web应用程序。我可以看到我期望在第二个版本中的js代码的更改。
清除Safari缓存(我怀疑这不会基于#1工作 - Safari似乎没有与Excel共享缓存,但值得一试) - 没有任何改变。
在〜/ Library/Containers/com.microsoft.Excel中试图找到一个缓存 - 删除〜/ Library/Containers/com.microsoft.Excel/Data/Library/Caches/com.microsoft.Excel - 没有帮助。
使用从任务窗格中的上下文菜单中的刷新菜单项(貌似[I]在Mac上) - 没有什么区别:仍然看到旧foo.js.
我该如何让Excel /嵌入式Web浏览器组件检索新的foo.js?
要添加到迈克尔·桑德斯写道:有各种各样的Web缓存无效化技术,例如作为http://madskristensen.net/post/cache-busting-in-aspnet。版本化您的资产可能是最简单的。 –
@MichaelZlatkovsky&Michael S:谢谢你的回复。您建议的服务器端解决方案在长期看来似乎很好(尽管我不确定HTML页面中的meta/no-cache标签是否可传递地应用于通过该页面下载的JS文件)。然而,在开发过程中,我希望有一个客户端解决方案(“删除所有网站数据”不起作用)。在我的客户端和Web服务器之间没有代理服务器或其他服务器Web缓存,并且使用Safari我可以获取更新的资源,所以我推测使用了不同的客户端缓存。希望听到一种方法来清除它。 – shaun