WindowsやLinuxで、標準Webブラウザを呼び出して、任意のページを表示させる方法(Macでの方法は不明)。
Windows
require 'dl/win32'
sw_show_normal = 1
api = Win32API.new('shell32.dll','ShellExecute',%w(p p p p p i),'i')
api.call(0, 'open', 'path/to/document.html', 0, 0, sw_show_normal)
# もしくは
# api.call(0, 'open', 'http://example.net/', 0, 0, sw_show_normal)
補足
Windows APIのShellExecute関数を利用している。
Windows標準のstartコマンドを使って、以下のように書く方法もあるが、URLを渡してもちゃんと動くのかどうかがはっきりしないため、ここでは使っていない。
system "start path/to/document.html"Win32APIライブラリは、Ruby 1.9.1で非推奨となっている(警告が出る)ので使っていない。dl/win32 で代用可能。
Linux
path = 'path/to/document.html'
# もしくは
# uri = 'http://example.net/'
system("/etc/alternatives/x-www-browser #{path} &") || system("firefox #{path} &")
補足
- Linux環境では、
/etc/alternatives/x-www-browserに標準ブラウザへのシンボリックリンクが置かれている。
1 : appliance repair
ただ素晴らしいブログ、ここで得たものと言って欲しい!私は、時間がかなり多く出回っている最終的にあなたの作品の感謝の意を示すために決めた!親指が、それは続ける!
このコメントを編集/削除