google-chrome - Jupyter笔记本: hyperlink to locally stored pdf docs stopped working in Chrome

标签 google-chrome jupyter-notebook

我有大量的 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 ' 作为插件,因为加载插件的框架是沙盒的。

当我在 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 问题与 Content Security Policy 有关Chrome 应用于 iframe。

关于google-chrome - Jupyter笔记本: hyperlink to locally stored pdf docs stopped working in Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50997580/

相关文章:

python - 在 jupyter notebook 中水平打印 Quantile 函数的输出

python - PyCharm Jupyter 笔记本 : Add Jupyter to the interpreter of the current project

javascript - 过滤掉 Chrome JS 控制台中重复出现的错误

ios - 有没有办法在 iOS 应用程序的 web View 中使用 Chrome?

python - 训练 Tensorflow LinearClassifier 时出现类型错误

python - 在 jupyter 中混合 python 输出和 Markdown

html - Accesskey 不适用于 chrome 中的 h1 元素

javascript - HTTP 请求 - 缺少响应 - net_error = -3 (ERR_ABORTED)

google-chrome - Chrome 扩展 : how to use serial port (now that apps are sunsetting)?

python - 如何检查是否启用了 Jupyter Notebook 扩展?