1

我在 OneNote(在线)缓存我的加载项时遇到了烦人的问题。我正在旁加载我的加载项,尽管将新版本推送到我的服务器,并且完全刷新了 OneNote 网页并重新插入我的加载项,但我仍然看到旧的加载项内容。如果我使用加载项清单中的加载项 URL 打开一个新选项卡,那么我确实会看到新内容,因此我几乎可以肯定这是一个缓存问题。换句话说,我在 OneNote 提供的 Add-In IFRAME 中看到了的内容,但是如果我将同一个网页加载到一个全新的选项卡中,我会看到新的内容。

在开发加载项时,是否有设置或可以做些什么来阻止加载项缓存?

注意:虽然我们在等待更好的答案,但现在我正在使用旧技巧来更改清单中的加载项 URL,方法是在每次版本更改时递增的 URL 末尾添加一个良性 URL 参数。希望有人会提供比这更好的解决方案,因为这有点痛苦,但至少现在是这样。

4

1 回答 1

2

缓存加载项的并不是真正的 OneNote Online,而是浏览器。

使用以下 HTML 标头来防止缓存:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>

防止缓存 HTML 页面

为了防止缓存你的 JS,你可能需要做更多的事情。我建议在您的 JS 引用中附加一个随机数,如此处所建议的。

<script language="JavaScript">
    var s=document.getElementsByTagName('script')[0];
    var sc=document.createElement('script');
    sc.type='text/javascript';
    sc.async=true;
    sc.src='http://PATHTOYOURSCRIPT.js?v' + Math.random(); 
    s.parentNode.insertBefore(sc,s);
</script>

防止缓存 JavaScript 文件

于 2017-01-27T19:08:58.790 回答