如何在 Mac 上清除 Excel 2016 任务窗格加载项的客户端浏览器缓存?
How to clear client side browser cache for Excel 2016 Task Pane add-in on Mac?
这是对之前 的跟进,其中对 "How do I ensure I see the latest JS code in my Task Pane add-in" 的回答涉及通过服务器添加的 meta/no-cache 标签(或服务器版本控制)来控制客户端缓存行为资源)。
但是,我正在寻找一种手动方式,在客户端,以便最终用户清除似乎正在存储的客户端缓存JavaScript 文件并阻止任务窗格加载项使用服务器上更新的 JS 文件。在开发过程中,我会经常更新服务器上的 JS 资源,我正在寻找允许使用这些更新文件的客户端解决方案。
环境:桌面版 Excel 2016 运行ning on Mac (OSX 10.11.5)
使用 Excel/Office.js.
v1.2 的任务窗格加载项
场景:将插件项目部署到 Web 服务器,运行 Mac 上的插件。然后在加载项中更新 foo.js 中的代码,重新部署到 Web 服务器。 运行 加载项并查看 foo.js.
的旧(更新前)行为
我试过的:
在同一个 Mac 上,直接从 Safari 中的 Web 应用加载 foo.js。我可以看到我希望在更新版本中的js代码的变化。
清除了 Safari 缓存(隐私 > 删除所有网站数据)(我怀疑这不会基于 #1 - Safari 似乎没有与 Excel 共享缓存但是值得一试)- 没有改变任何东西。
在 ~/Library/Containers/com.microsoft.Excel 下四处寻找
查找缓存 - 已删除 ~/Library/Containers/com.microsoft.Excel/Data/Library/Caches/com.microsoft.Excel - 没有帮助。
使用任务窗格上下文菜单中的重新加载菜单项(看起来
就像 Mac 上的 [i]) - 没有区别:仍然看到旧的 foo.js.
Excel(桌面)2016 任务窗格加载项引用的 JavaScript 文件存储在哪里? (在 Mac 上)以及最终用户如何删除它们?
我在 Mac 上的终端使用 "defaults" 命令四处闲逛时偶然发现了 com.Microsoft.OsfWebHost。一些谷歌搜索出现了这个article,它基本上提供了答案。对那里的指示稍作改进,这就是我所做的:
- 确保我已经退出 Excel
- 在 Finder 中,导航到
~/Library/Containers/com.Microsoft.OsfWebHost/Data/Library/Caches
- 重命名(或删除)那里名为 "com.Microsoft.OsfWebHost" 的文件夹
- 在 Excel 中打开了我的工作簿(它已经插入了加载项)
- 似乎没有加载任何内容,因此我使用了任务窗格上下文菜单中的重新加载命令
现在我可以看到 java 脚本文件的更新版本已经加载。
这仅基于经验证据,没有来自 Microsoft 或 Apple 文档的佐证,因此您的情况可能会有所不同。
顺便说一句,com.Microsoft.OsfWebHost 有一些有趣的 "defaults" 属性:
defaults read com.Microsoft.OsfWebHost
{
WebKitCacheModelPreferenceKey = 1;
WebKitDebugFullPageZoomPreferenceKey = 1;
WebKitPluginsEnabled = 0;
WebKitUsesPageCachePreferenceKey = 0;
}
谷歌搜索 WebKitCacheModelPreferenceKey 没有找到任何官方文档,但似乎有人建议将其设置为 0 可能会抑制缓存。
这是对之前
但是,我正在寻找一种手动方式,在客户端,以便最终用户清除似乎正在存储的客户端缓存JavaScript 文件并阻止任务窗格加载项使用服务器上更新的 JS 文件。在开发过程中,我会经常更新服务器上的 JS 资源,我正在寻找允许使用这些更新文件的客户端解决方案。
环境:桌面版 Excel 2016 运行ning on Mac (OSX 10.11.5) 使用 Excel/Office.js.
v1.2 的任务窗格加载项场景:将插件项目部署到 Web 服务器,运行 Mac 上的插件。然后在加载项中更新 foo.js 中的代码,重新部署到 Web 服务器。 运行 加载项并查看 foo.js.
的旧(更新前)行为我试过的:
在同一个 Mac 上,直接从 Safari 中的 Web 应用加载 foo.js。我可以看到我希望在更新版本中的js代码的变化。
清除了 Safari 缓存(隐私 > 删除所有网站数据)(我怀疑这不会基于 #1 - Safari 似乎没有与 Excel 共享缓存但是值得一试)- 没有改变任何东西。
在 ~/Library/Containers/com.microsoft.Excel 下四处寻找 查找缓存 - 已删除 ~/Library/Containers/com.microsoft.Excel/Data/Library/Caches/com.microsoft.Excel - 没有帮助。
使用任务窗格上下文菜单中的重新加载菜单项(看起来 就像 Mac 上的 [i]) - 没有区别:仍然看到旧的 foo.js.
Excel(桌面)2016 任务窗格加载项引用的 JavaScript 文件存储在哪里? (在 Mac 上)以及最终用户如何删除它们?
我在 Mac 上的终端使用 "defaults" 命令四处闲逛时偶然发现了 com.Microsoft.OsfWebHost。一些谷歌搜索出现了这个article,它基本上提供了答案。对那里的指示稍作改进,这就是我所做的:
- 确保我已经退出 Excel
- 在 Finder 中,导航到 ~/Library/Containers/com.Microsoft.OsfWebHost/Data/Library/Caches
- 重命名(或删除)那里名为 "com.Microsoft.OsfWebHost" 的文件夹
- 在 Excel 中打开了我的工作簿(它已经插入了加载项)
- 似乎没有加载任何内容,因此我使用了任务窗格上下文菜单中的重新加载命令
现在我可以看到 java 脚本文件的更新版本已经加载。
这仅基于经验证据,没有来自 Microsoft 或 Apple 文档的佐证,因此您的情况可能会有所不同。
顺便说一句,com.Microsoft.OsfWebHost 有一些有趣的 "defaults" 属性:
defaults read com.Microsoft.OsfWebHost
{
WebKitCacheModelPreferenceKey = 1;
WebKitDebugFullPageZoomPreferenceKey = 1;
WebKitPluginsEnabled = 0;
WebKitUsesPageCachePreferenceKey = 0;
}
谷歌搜索 WebKitCacheModelPreferenceKey 没有找到任何官方文档,但似乎有人建议将其设置为 0 可能会抑制缓存。