1

JsPdf用来在客户端生成和下载pdf。不幸的是,这个过程让浏览器挂了一段时间。

所以我的问题是如何在后台生成和下载pdf,使用service worker

4

1 回答 1

1

服务工作者不是正确的地方 -服务工作者就像代理服务器。您在范围内的所有请求都会通过它并且可以缓存。另一方面,JSPDF 是一个客户端库,我们的浏览器必须执行并生成 PDF 文件,并且根据数据大小、客户端硬件、库本身的有效性等各种因素,它可能会影响浏览器的性能。

Web Worker - Web Worker 还在单独的线程中运行任务(如服务工作者),这将通过不加载处理用户交互的主线程来减少浏览器负载对用户与网页交互的影响。

如果您考虑生成服务器端 PDF -当您通过 service worker 时,您正在缓存该响应数据,这最终会填满每个应用程序拥有的有限配额。由于此类下载场景不是缓存的常见用例,因此可以考虑执行常规 AJAX 调用以在服务器端生成 PDF 并下载到客户端。

于 2018-05-29T15:48:20.903 回答