首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个pdf.js实例

多个pdf.js实例
EN

Stack Overflow用户
提问于 2016-09-20 22:44:24
回答 1查看 2.1K关注 0票数 4

我有一个单一的页面应用程序,在这个应用程序中,我有不同的页面,使用pdf.js显示不同的pdfs。我经常遇到问题,因为一旦初始化pdf.js一次,它就会为每个不同的实例使用这些设置,或者看起来是这样的。

每次访问这些页面时,我都希望能够销毁pdf.js对象并创建一个新的对象。到目前为止,我还没有找到一个销毁方法,我已经尝试删除画布对象,关闭PDFViewerApplication,但我仍然存在这些问题。

我看到的一些错误是:-The覆盖已经注册了,-offsetParent没有设置--不能滚动。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-28 19:23:35

最快的答案是,你的单页网站可以使用帧。

代码语言:javascript
复制
* { border: 0; margin: 0; padding: 0; overflow: hidden; }
iframe { width: 100%; height: 50%; width: 100vw; height: 50vh; }
代码语言:javascript
复制
<iframe src="http://mozilla.github.io/pdf.js/web/viewer.html"></iframe>
<iframe src="http://mozilla.github.io/pdf.js/web/viewer.html"></iframe>

JavaScript全局对象将绑定到各自框架的窗口对象,而不会相互干扰。

您可以使用Mozilla的示例,将viewer.js更改为从位置的查询变量或散列组件中提取。使用一些参数(如?path=document123.pdf#document123.pdf )来构建框架的URL。

如果需要销毁 one,则只需销毁框架即可。如果您需要操作 one,您可以到达帧内(CORSXSS规则,安全性允许.)通过在(iframe.contentDocument || iframe.contentWindow.document))上使用contentWindow (或元素 )。

如果您无法通过contentWindow,直接到达,您可以构造一个脚本来使用postMessage发送和接收信号,或者只完成框架脚本中的所有工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39604853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档