在默认Web浏览器中打开本地HTML文件

时间:2011-04-01 03:11:05

标签: ruby

在Ruby中有没有办法在用户的默认Web浏览器中打开本地HTML文件?我可以做类似的事情:

system("open /path/to/file.html")

但这只适用于Mac OS X.是否有任何解决方案适用于任何平台?

3 个答案:

答案 0 :(得分:9)

您可以使用launchy gem。

首先,安装gem:

$ [sudo] gem install launchy

然后,在您的红宝石代码中:

require 'rubygems'
require 'launchy'

Launchy::Browser.run("/path/to/file.html")

答案 1 :(得分:0)

我认为您必须进行系统特定的调用。

system()就像在本地系统命令行上编写命令一样(这是我的理解)

我无法完成您在Windows 7上所做的工作。我必须调用explorer并在默认浏览器中打开它。

Windows 7示例:(在我的默认浏览器Chrome中打开)

system("explorer file:///C:/path_to_file")

注意:我需要在开始时放置file:///,否则它会在资源管理器而不是浏览器中打开。

答案 2 :(得分:0)

我知道这不可取,但最糟糕的情况是,你可以查看RUBY_PLATFORM的值。这将返回操作系统平台。

半伪代码:

cmd = case RUBY_PLATFORM
  when /darwin/
    "open /path/to/file.html"
  when /windows/ #fix this, I'm not sure.
    "explorer file:///C:/path_to_file"
  else
    "default"
end

system(cmd)