如何在Mac上清除Excel 2016任务窗格加载项的客户端浏览器缓存?

时间:2016-07-07 14:38:41

标签: excel macos browser-cache office-addins office-js

这是之前question的后续内容,其中答案为"如何确保在我的任务窗格加载项中看到最新的JS代码"涉及通过服务器添加的元/无缓存标记控制客户端缓存行为(或对服务器资源进行版本控制)。

但是,我正在寻找一种手动方式,在客户端,以便最终用户清除似乎存储JavaScript文件的客户端缓存并阻止更新的JS文件服务器不被任务窗格加载项使用。在开发过程中,我将经常在服务器上更新JS资源,我正在寻找允许使用这些更新文件的客户端解决方案。

环境:在Mac上运行的Excel 2016桌面版(OSX 10.11.5) 使用Excel / Office.js。

的v1.2创建任务窗格加载项

场景:将加载项工件部署到Web服务器,在Mac上运行加载项。然后在加载项中更新foo.js中的代码,重新部署到Web服务器。运行加载项并查看foo.js中的旧(更新前)行为。

我尝试了什么

  1. 在同一台Mac上,直接从Safari中的网络应用加载foo.js。我可以看到js代码中我希望在更新版本中的更改。

  2. 清除Safari缓存(隐私>删除所有网站数据)(我怀疑这不会基于#1 - Safari似乎与Excel共享缓存但值得一试) - 没有改变任何事情。

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

  4. 使用任务窗格上下文菜单中的重新加载菜单项(看起来 像Mac上的[i]) - 没有区别:仍然看到旧的foo.js。

  5. 存储了Excel(桌面)2016任务窗格加载项引用的JavaScript文件在哪里? (在Mac上)以及最终用户如何删除它们?

1 个答案:

答案 0 :(得分:6)

我偶然发现 com.Microsoft.OsfWebHost ,同时使用"默认值"来自Mac终端的命令。一些谷歌搜索出现了article这基本上提供了答案。稍微改进了那里的指示,这就是我所做的:

  1. 确保我退出Excel
  2. 在Finder中,导航到 〜/库/容器/ com.Microsoft.OsfWebHost /数据/库/缓存
  3. 重命名(或删除)名为" com.Microsoft.OsfWebHost"的文件夹。有
  4. 在Excel中打开了我的工作簿(它已经插入了加载项)
  5. 似乎没有加载,所以我使用了任务窗格中上下文菜单中的重新加载命令
  6. 现在我可以看到已经加载了我的更新版本的java脚本文件。

    这仅基于经验证据,未经Microsoft或Apple doc证实,因此您的里程可能会有所不同。

    顺便说一下,有一些有趣的"默认" com.Microsoft.OsfWebHost的属性:

    defaults read com.Microsoft.OsfWebHost
    {
    WebKitCacheModelPreferenceKey = 1;
    WebKitDebugFullPageZoomPreferenceKey = 1;
    WebKitPluginsEnabled = 0;
    WebKitUsesPageCachePreferenceKey = 0;
    }
    

    谷歌搜索WebKitCacheModelPreferenceKey没有发现任何官方文档,但似乎有建议将其设置为0可能会抑制缓存。