Jupyter 笔记本:本地存储的 pdf 文档的超链接在 Chrome 中停止工作

2024-01-04

我有大量的 Jupyter Notebook,其中许多都有指向本地存储的 pdf 文档的超链接。不久前,这些链接在我的 iMac 上的 Chrome 中停止工作。单击链接时,会打开一个带有正确地址的新选项卡,但页面只是黑色。当我在 MacBook 上使用完全相同的 Jupyter Notebook 执行此操作时,它工作正常。我的 MacBook 上的环境与 iMac 上的环境基本相同。一切都是最新的。我正在使用 Anaconda for Python 和 Jupyter。

当我的 iMac 上发生此问题时,在 Chrome 中查看控制台时,我收到以下错误消息: 加载失败'http://localhost:8888/files/Cookbooks/Git%20%26%20GitHub/books/Pro_Git.pdf http://localhost:8888/files/Cookbooks/Git%20%26%20GitHub/books/Pro_Git.pdf' 作为插件,因为加载插件的框架是沙盒的。

当我在 Safari 或 Firefox 上打开 Jupyter 笔记本时,超链接工作正常。 Chrome 是我的默认浏览器,我希望修复此问题。我技术不太好,在互联网上找不到任何解决方案。非常感谢您的帮助。


一个简单的解决方法是使用<embed>元素而不是<iframe>.

您可以在笔记本中定义辅助函数:

from IPython.core.display import HTML
def pdf(url):
    return HTML('<embed src="%s" type="application/pdf" width="100%%" height="600px" />' % url)

要显示 PDF,请使用以下命令:

pdf('./data-ref/pluto_datadictionary.pdf')

注意:pdf 文件应存储在您的 jupyter 笔记本旁边

原来的iframe问题与内容安全政策 https://developers.google.com/web/fundamentals/security/csp/Chrome 应用于 iframe。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jupyter 笔记本:本地存储的 pdf 文档的超链接在 Chrome 中停止工作 的相关文章

随机推荐