【问题标题】:How to open a file with the system's webbrowser?如何使用系统的网络浏览器打开文件?
【发布时间】:2016-04-01 07:17:27
【问题描述】:

我制作了一个创建 html 文件的函数。如何在用户系统的浏览器中打开?

在 python 中,我会导入 webbrower,然后调用 webbrowser.open("file.html")。

如何在 genie 中达到同样的效果?

【问题讨论】:

    标签: genie


    【解决方案1】:

    Linux 的一个可能选项是:

    Process.spawn_command_line_async ("sensible-browser file.html")

    【讨论】:

    【解决方案2】:

    Python webbrowser 模块是一种打开浏览器窗口的跨平台方式。我不知道 Genie 或 Vala 有类似的跨平台模块,因此您必须使用特定于平台的命令。

    在基于 Linux 的平台上,xdg-open 是用于以标准方式跨桌面打开应用程序的命令。这应该适用于现代版本的 Gnome、KDE、XFCE 和其他版本。

    从 GLib 2.40 开始,在 Genie 中打开外部命令的首选方式是使用 GLib GIO 的 GSubprocess。在 Genie 中,这类似于:

    init
        try
            var command = new Subprocess( SubprocessFlags.NONE,
                                          "xdg-open",
                                          "http://stackoverflow.com/tags/genie/"
                                          )
            command.wait()
        except error:Error
            print error.message
    

    这需要用GIO包编译:

    valac --pkg gio-2.0 my_xdg_open_example.gs
    

    上面的例子等待命令完成,GSubprocess可以异步使用。您还可以轻松访问 STDIN、STDOUT 和 STDERR。见Subprocess - ValadocSubprocessFlags - Valadoc

    这也可用于在 Web 浏览器中打开本地文件,只要该文件的 MIME 类型已配置为在浏览器中打开即可。 HTML 文件应该没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多