【问题标题】:start browser at an anchor possibly using a tag可能使用标签在锚点启动浏览器
【发布时间】:2020-06-07 15:46:49
【问题描述】:

我正在开发一种用于热力学计算的交互式软件,它使用具有“锚/目标”功能的 html 帮助文件来在用户键入 a 时选择帮助文件的适当部分?作为问题的答案。
这很好用,但目前每次用户键入“?”时都会打开一个新的浏览器窗口。如果已经打开了一个浏览器窗口,我更愿意开始一个新标签。

目前我的程序通过创建一个具有以下内容的角色来激活帮助:browser "file:helpfile#target" 然后调用 Fortran 子程序execute_system_command(character)

"browser" 可以是 firefox 或任何用户首选的浏览器(在 Mac 上,包括路径); "helpfile" 包含我的 html 帮助文件的路径和名称; “目标”是一个文本,它取决于软件提出的问题来本地化相应的帮助文本。

如何修改它以便在浏览器中打开一个新标签(如果它已经打开)而不是启动一个新的浏览器窗口? 也许可以添加“target=_blank”之类的东西?

我的程序是用新的 Fortran 标准编写的,所以我没有可用的 Java 或 Python 工具。它必须在不同操作系统上使用不同的浏览器。

【问题讨论】:

  • 请显示一些您已经拥有的代码,尤其是关于您如何打开 html 文件的代码(注意 html 帮助有点混乱,因为它指向 htmlhelp / chm 类型的文件)。跨度>
  • 关于:也许可以添加“target=_blank”之类的东西?我认为这是/可能是您浏览器的设置。
  • 您是指新标签页吗?这实际上取决于每个用户的浏览器设置。做xdg-open https://... 确实为我打开了一个新标签。或者你说的标签是什么意思?

标签: html browser fortran tags anchor


【解决方案1】:

正如@Vladimir 指出的那样,我提到了一个“标签”,有很多术语。但我得到的答案让我重新考虑我可以使用哪个浏览器。而且我有了一些新的发现。

在 Windows 上,我使用旧的资源管理器,因为 Firefox 的路径包含一个空格,并且当我尝试启动 Firefox 以打开文件时 我必须用双引号将“C:\Program ...\firefox”括起来。这可以启动浏览器,但如果我想让浏览器打开一个文件,我必须将它也用双引号括起来,但这不起作用。我不确定问题是 Fortran 内在 EXECUTE_COMMAND_LINE(txt) 还是更深层次的问题。但是旧的资源管理器我可以不用“”开始,只需用“”括起来“file:/help.html”。

所以现在我试着聪明地写了一个测试程序,只用“”将目录包含在一个空格内,即 C:"Program Files\Mozilla Firefox"\firefox.exe "file:/help.html" 在对 EXEXUTE 的调用中... 这是我的默认设置并在选项卡中打开了帮助文件。

问题解决了吗?不,当我用程序中的路径交换浏览器并测试它时没有找到浏览器。原因是我使用另一个 Fortran 内在 INQUIRE 测试浏览器是否存在,据我所知,双引号在文件名内部是不合法的,因此当路径中有“时,INQUIRE 没有找到 firefox。只有在整个过程中使用了”它工作的文件名。所以回到第一方?不,我只是在调用 INQUIRE 之前删除了路径+浏览器中的 ",然后在调用 EXECTUE 时使用了带有 "" 的路径 ...

现在一切都如我所愿!

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多