带Excel和Edge Webview的Office js加载项-如何删除缓存?

带Excel和Edge Webview的Office js加载项-如何删除缓存?,webview,office-js,microsoft-edge,Webview,Office Js,Microsoft Edge,我们正在为Excel开发一个office js javascript插件。我们正在Windows上用Excel中的侧加载测试加载项。将Windows和Excel更新为新版本后,Office/Excel中的webview已从IE更改为Edge。现在,我们需要删除边缘浏览器缓存,以便查看更新的web服务中的更改 要完全重新加载侧加载的office加载项,删除本地存储和IE浏览器缓存就足够了。 更新到Edge webview后,我们无法清除浏览器缓存 在IE中,我们可以通过以下方式刷新本地存储和浏览器

我们正在为Excel开发一个office js javascript插件。我们正在Windows上用Excel中的侧加载测试加载项。将Windows和Excel更新为新版本后,Office/Excel中的webview已从IE更改为Edge。现在,我们需要删除边缘浏览器缓存,以便查看更新的web服务中的更改

要完全重新加载侧加载的office加载项,删除本地存储和IE浏览器缓存就足够了。 更新到Edge webview后,我们无法清除浏览器缓存

在IE中,我们可以通过以下方式刷新本地存储和浏览器缓存: del/q/s/f C:\Users\username\AppData\Local\Microsoft\Windows\Caches del/q/s/f C:\Users\username\AppData\Local\Microsoft\Windows\INetCache del/q/s/f C:\Users\username\AppData\Local\Microsoft\Office\16.0\WEF

psexec.exe-l c:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4359

除了psexec(sysinternals),我们还可以通过internet选项对话框删除IE缓存

为了删除边缘缓存,我们尝试了 del/q/s/f C:\Users\username\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC 或者通过打开边缘浏览器,通过UI删除缓存


不幸的是,边缘缓存似乎没有完全删除,office加载项没有完全显示web服务中更改的内容。

开发时,最好关闭客户端缓存。详细信息将取决于您使用的服务器类型。在大多数情况下,它涉及到向HTTP响应添加某些头。我过去曾使用过以下模式,但您应该研究每种模式并了解它们的影响

Cache-Control: "private, no-cache, no-store"
Pragma: "no-cache"
Expires: "-1"

另外,请参见此SO问题:。

尝试参考以下步骤删除Microsoft Edge browser数据:

  • 在Microsoft Edge中,转到更多…设置
  • 单击隐私与安全,选择选择要清除的内容
  • 选中要清除的每个数据类型旁边的复选框,然后选择“清除”
  • 如果愿意,请将“在我关闭浏览器时始终清除此”设置打开
  • 屏幕截图如下:


    此外,当您使用F12开发人员工具调试网站时,还可以使用开发人员存储工具检查存储的数据并将其删除。更多详细信息,请查看。

    首先-手动删除不是一个好的做法-正如@Rick Kirkham所说,使用标准的web技术进行适当的缓存。 如果您想以艰难的方式执行此操作,请列出Edge WebViewHost的缓存文件,如下所示:

    dir /s %LOCALAPPDATA%\Packages\Microsoft.Win32WebViewHost_cw5n1h2txyewy\AC\#!123\INetCache\
    
    此系统目录不可见。 要清空我使用的内容,请执行以下操作:

    del /s /f /q %LOCALAPPDATA%\Packages\Microsoft.Win32WebViewHost_cw5n1h2txyewy\AC\#!123\INetCache\
    
    在我们的例子中,我们使用Azure应用程序服务(IIS)作为后端服务器。 我们添加了以下web.config设置,以允许客户端重新验证所有缓存文件:

    ...
      <system.webServer>
        <staticContent>
          <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="0.00:00:00" cacheControlCustom="must-revalidate" />
        </staticContent>
    ...
    
    。。。
    ...
    
    如果您是在Visual Studio中开发,那么真正的问题似乎不是浏览器缓存,而是决定将哪些文件部署到本地IIS Express服务器(用于本地测试/开发)或远程web服务器以进行发布。在许多情况下,即使您也修改了web.config文件,修改后的html和/或js文件也无法进入web部署

    我始终如一地完成这项工作的方法是选择web应用程序项目(在解决方案资源管理器中),打开属性,单击“打包/发布web”选项卡,然后在“要部署的项目”下选择“此项目中的所有文件”


    对我来说很好

    非常感谢!我们就是这样试的。对于Edge浏览器本身,这是可行的,但对于Excel Edge webview和office js,缓存中仍有一些内容。现在我发现了新的Microsoft Edge DevTools预览版,它在Excel中运行office js加载项时为我提供了F12 developert工具。非常感谢!我们还必须考虑当web服务更新并且清单文件保持不变时,客户计算机上会发生什么。现在,我们从服务器读取一个版本号,并将其与客户端存储的版本进行比较。如果存在差异,我们会向每个请求的URL添加一个随机变量,这将打开一个新的缓存。在internet上尝试了其他方法,第二个命令就成功了。助教