在Ruby中有没有办法在用户的默认Web浏览器中打开本地HTML文件?我可以做类似的事情:
system("open /path/to/file.html")
但这只适用于Mac OS X.是否有任何解决方案适用于任何平台?
答案 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)