sha*_*aun 1 macos excel office-addins browser-cache office-js
这是前一个问题的后续问题,其中"我如何确保在任务窗格加载项中看到最新的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中的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上)以及最终用户如何删除它们?
我偶然发现com.Microsoft.OsfWebHost,同时使用Mac上终端的"默认"命令.一些谷歌搜索出现了这篇文章,基本上提供了答案.稍微改进了那里的指示,这就是我所做的:
现在我可以看到已经加载了我的更新版本的java脚本文件.
这仅基于经验证据,没有来自Microsoft或Apple doc的佐证,因此您的里程可能会有所不同.
顺便说一下,com.Microsoft.OsfWebHost有一些有趣的"默认"属性:
defaults read com.Microsoft.OsfWebHost
{
WebKitCacheModelPreferenceKey = 1;
WebKitDebugFullPageZoomPreferenceKey = 1;
WebKitPluginsEnabled = 0;
WebKitUsesPageCachePreferenceKey = 0;
}
Run Code Online (Sandbox Code Playgroud)
谷歌搜索WebKitCacheModelPreferenceKey没有发现任何官方文档,但似乎有建议将其设置为0可能会抑制缓存.
| 归档时间: |
|
| 查看次数: |
2418 次 |
| 最近记录: |