【问题标题】:Is there a way to programmatically open a server-side file in a new tab?有没有办法以编程方式在新选项卡中打开服务器端文件?
【发布时间】:2019-04-19 17:57:57
【问题描述】:

我在服务器上运行 Jupyter 笔记本并从客户端计算机执行它。在 Rstudio 服务器中,可以通过file.show 以可编程方式在新选项卡中打开服务器端文件。这有时非常方便。例如,我有一个处理相当大图像的脚本。由于它的大小,我不希望它直接显示在输出面板中,而是我想在新选项卡中查看它。在 Rstudio 服务器中,我通常会这样做:

... image processing code ....
ggsave('temp.png')
file.show('temp.png')

脚本完成后,这将在新选项卡中自动弹出新图像。

是否可以在 Jupyter 中做类似的事情?

我注意到我可以通过在内置文件浏览器中单击图像文件来实现这一点,但我想知道这是否可以编程。

同样,是否可以在 Rstudio 服务器的 browseURL 等新选项卡中以可编程方式打开网页?请注意,webbrowser.open(url) 并没有完全做到这一点,因为它试图打开 本地 浏览器,在服务器-客户端场景中,它不会在客户端打开新选项卡。

【问题讨论】:

    标签: jupyter jupyter-notebook


    【解决方案1】:

    你可以做一个链接。相对 URL 将在新的浏览器选项卡中打开。文件是相对于包含您当前正在处理的笔记本的目录提供的。

    在 Python 中:

    from IPython.display import display, HTML
    display(HTML('<a href="temp.png">see image</a>'))
    

    以编程方式打开新标签通常会触发弹出窗口拦截器,但发布用户点击的链接应该是可靠的。

    【讨论】:

      猜你喜欢
      • 2023-01-30
      • 2010-10-29
      • 2010-09-30
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      相关资源
      最近更新 更多