OneNote(在线)缓存我的加载项时遇到了恼人的问题。我正在加载我的加载项,尽管将新版本推送到我的服务器,和完全刷新OneNote网页并重新插入我的加载项,我仍然看到旧的加载项内容。如果我使用加载项清单中的加载项URL打开新标签页,那么我执行会看到新内容,因此我几乎可以肯定它是一个缓存问题。换句话说,我在OneNote提供的加载项IFRAME中看到了旧内容,但如果我将同一个网页加载到一个全新的内容中,我会看到新的内容标签
在我开发加载项时,是否有设置或其他方法可以阻止加载项缓存?
注意:当我们等待更好的答案时,我现在正在使用通过在URL的末尾添加良性URL参数来更改清单中的加载项URL的旧技巧我随每个版本的变化而增加。希望有人会提供一个比这更好的解决方案,因为它有点痛苦,但至少它现在是一些东西。
答案 0 :(得分: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"/>
为了防止缓存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>