我有一个文本文件,其中有多个图像链接。我可以在 Python 中以超链接的形式逐行读取该文件。但是当我单击链接时,我试图将这些链接用作弹出窗口,而不是在不同的窗口中打开。我可以使用任何工具或任何库吗?
您可以创建一个 JavaScript 弹出链接,如下所示:
<a href="some url" target="popup" onclick="window.open('some url','popup','width=w,height=h'); return false;">
some url
</a>
在 Google Colab 中,您可以使用 Python 显示 HTML:
IPython.display.display(HTML(html content))
所以你处理文件并为每一行添加相应的html到结果变量,然后显示完整内容。
MCVE:
from IPython.display import display, HTML
links = ["https://i.stack.imgur.com/8lOtO.png", "https://imgs.xkcd.com/comics/helium_reserve.png", "https://i.stack.imgur.com/gPtbt.jpg"]
def makepopup(link):
return f"""<a href="{link}" target="popup" onclick="window.open('{link}','popup','width=600,height=200'); return false;">{link}</a><br>"""
linklist = ""
for link in links:
linklist += makepopup(link) + "\n"
display(HTML(linklist))
请注意,您确实需要提供一些固定的宽度和高度,否则弹出窗口只是全屏。