【问题标题】:Jupyter notebook: hyperlink to locally stored pdf docs stopped working in ChromeJupyter notebook:指向本地存储的 pdf 文档的超链接在 Chrome 中停止工作
【发布时间】:2018-06-23 02:58:26
【问题描述】:

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

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

当我在 Safari 或 Firefox 上打开 Jupyter notebook 时,超链接工作正常。 Chrome 是我的默认浏览器,我想修复它。我不是很技术,我无法在互联网上找到任何解决方案。非常感谢您的帮助。

【问题讨论】:

  • 您找到解决方法了吗?还是您最终采纳了@kmandov 的建议

标签: google-chrome jupyter-notebook


【解决方案1】:

一个简单的解决方法是使用<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 notebook 旁边

最初的 iframe 问题与 Chrome 应用于 iframe 的 Content Security Policy 有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多