繁体   English   中英

如何让ruby调用默认浏览器来打开localfile

[英]how to let ruby call default browser to open localfile

这个问题中 ,我发现使用system('start http://www.google.com')是可以的。 但是,如果文件位于本地磁盘中,则使用system('start file:///c:/temp/a.html')不起作用。 如何让Ruby获取默认浏览器以打开本地文件?

在Windows资源管理器中双击.html文件时会得到什么? 如果它不是浏览器那么那就是你的问题。 'start'关键字通过ShellExecute函数推送路径,因为http:// URL知道在浏览器中打开它,如果它是一个文件,它取决于文件的扩展名,如果你的系统有.html指向例如记事本(因为在过去你已经将它设置为记事本)它总是会在该程序中打开它,除非你去并专门改变它。

从一般工作的角度来看,你可以做的事情并不多,如果你可以在Ruby下访问Windows注册表,那么你可以查询HKEY_CLASSES_ROOT\\http\\shell\\open\\command默认值,其中包含当前浏览器的命令行绑定到HTTP协议,您可以使用它来构造完整路径(用URL字符串替换%1)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM