跳到主要内容

预加载静态资源

从版本 9.0 开始,您可以在打开文档前将静态资源(HTML、CSS、JS、字体)预加载到浏览器缓存中,以加快文档编辑器首次加载的速度。

预加载有两种方式。

选项 1:使用 ?preload=placeholder 参数

?preload=placeholder 参数附加到 api.js 的 URL 中:

<div id="placeholder"></div>
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js?preload=placeholder"></script>

其中,documentserver 是安装了 ONLYOFFICE 文档的服务器名称。

在此种情况下,除了创建 DocsAPI.DocEditor 之外,DOM 中还会自动插入一个隐藏的 <iframe>(其 id="placeholder"),该 iframe 会在后台加载编辑器的静态资源。

选项 2:手动插入预加载 iframe

另一种方法是,您可以手动插入一个指向预加载页面的隐藏 <iframe>

<iframe src="https://documentserver/web-apps/apps/api/documents/preload.html" style="display:none;"></iframe>

其中,documentserver 是安装了 ONLYOFFICE 文档的服务器名称。

如果您需要为 iframe 设置额外的安全参数,或使用 nonce 将其插入 DOM,建议使用此方法。

使用 <iframe> 来进行预加载,而不是 <link rel="prefetch">。编辑器的静态资源(脚本、样式、字体)会在 iframe 的上下文中加载,而 <link rel="prefetch"> 则无法正确触发静态资源的加载或缓存。