2016-07-06 43 views
1

我正在与一个问题,我的任务窗格插件在桌面上的Excel 2016年的Mac(OSX)运行时。我已将第一版加载项部署到Web服务器,并成功将对加载项的清单的引用插入到Excel工作簿中,并可以在客户端框(Mac)上看到它的工作情况。然后,我对加载项“foo.js”中的一些JavaScript代码进行了一些更改,然后将这些更改部署到了Web服务器上。现在,当我打开工作簿时,我看不到我从新版本的foo.js期望的行为,而是看到了旧行为。如何确定最新的JS代码是由任务窗格加载项加载的?

我曾尝试:

  1. 在同一台Mac,装foo.js直接从Safari中的Web应用程序。我可以看到我期望在第二个版本中的js代码的更改。

  2. 清除Safari缓存(我怀疑这不会基于#1工作 - Safari似乎没有与Excel共享缓存,但值得一试) - 没有任何改变。

  3. 在〜/ Library/Containers/com.microsoft.Excel中试图找到一个缓存 - 删除〜/ Library/Containers/com.microsoft.Excel/Data/Library/Caches/com.microsoft.Excel - 没有帮助。

  4. 使用从任务窗格中的上下文菜单中的刷新菜单项(貌似[I]在Mac上) - 没有什么区别:仍然看到旧foo.js.

我该如何让Excel /嵌入式Web浏览器组件检索新的foo.js?

回答

0

如果你的HTML正确清爽,完全禁止与内容=“非缓存”(进一步的细节Using <meta> tags to turn off caching in all browsers?),您的网页上缓存。

而且,只是为了确保,清除缓存:⌥+⌘+ E>隐私>删除所有网站数据

+0

要添加到迈克尔·桑德斯写道:有各种各样的Web缓存无效化技术,例如作为http://madskristensen.net/post/cache-busting-in-aspnet。版本化您的资产可能是最简单的。 –

+0

@MichaelZlatkovsky&Michael S:谢谢你的回复。您建议的服务器端解决方案在长期看来似乎很好(尽管我不确定HTML页面中的meta/no-cache标签是否可传递地应用于通过该页面下载的JS文件)。然而,在开发过程中,我希望有一个客户端解决方案(“删除所有网站数据”不起作用)。在我的客户端和Web服务器之间没有代理服务器或其他服务器Web缓存,并且使用Safari我可以获取更新的资源,所以我推测使用了不同的客户端缓存。希望听到一种方法来清除它。 – shaun

相关问题