这是之前question的后续内容,其中答案为"如何确保在我的任务窗格加载项中看到最新的JS代码"涉及通过服务器添加的元/无缓存标记控制客户端缓存行为(或对服务器资源进行版本控制)。
但是,我正在寻找一种手动方式,在客户端,以便最终用户清除似乎存储JavaScript文件的客户端缓存并阻止更新的JS文件服务器不被任务窗格加载项使用。在开发过程中,我将经常在服务器上更新JS资源,我正在寻找允许使用这些更新文件的客户端解决方案。
环境:在Mac上运行的Excel 2016桌面版(OSX 10.11.5) 使用Excel / Office.js。
的v1.2创建任务窗格加载项场景:将加载项工件部署到Web服务器,在Mac上运行加载项。然后在加载项中更新foo.js中的代码,重新部署到Web服务器。运行加载项并查看foo.js中的旧(更新前)行为。
我尝试了什么:
在同一台Mac上,直接从Safari中的网络应用加载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上)以及最终用户如何删除它们?
答案 0 :(得分:6)
我偶然发现 com.Microsoft.OsfWebHost ,同时使用"默认值"来自Mac终端的命令。一些谷歌搜索出现了article这基本上提供了答案。稍微改进了那里的指示,这就是我所做的:
现在我可以看到已经加载了我的更新版本的java脚本文件。
这仅基于经验证据,未经Microsoft或Apple doc证实,因此您的里程可能会有所不同。
顺便说一下,有一些有趣的"默认" com.Microsoft.OsfWebHost的属性:defaults read com.Microsoft.OsfWebHost
{
WebKitCacheModelPreferenceKey = 1;
WebKitDebugFullPageZoomPreferenceKey = 1;
WebKitPluginsEnabled = 0;
WebKitUsesPageCachePreferenceKey = 0;
}
谷歌搜索WebKitCacheModelPreferenceKey没有发现任何官方文档,但似乎有建议将其设置为0可能会抑制缓存。