[Tips] WindowsやLinuxで標準ブラウザを開く方法

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} &")

補足

参考


コメント

1 : appliance repair

ただ素晴らしいブログ、ここで得たものと言って欲しい!私は、時間がかなり多く出回っている最終的にあなたの作品の感謝の意を示すために決めた!親指が、それは続ける!

2011年9月23日(金) 16:20
このコメントを編集/削除

2 : anabolicsオンライン

それはそこにいくつかの興味深いものだった。それを投稿いただきありがとうございます。

2011年10月18日(火) 0:21
このコメントを編集/削除

3 : oreva


<a href="http://icqmobilephones.net/">скачать бесплатную аську для телефона</a>

[url=http://icqmobilephones.net/]скачать бесплатную аську для телефона[/url]

2011年12月19日(月) 5:55
このコメントを編集/削除

4 : 検索エンジン最適化のランキング

私はあなたがあなたの記事に提供される貴重な情報を好き。私はあなたのウェブログをブックマークして私の子供は一般的に右、ここまでのテストを備えていることがある。私はわずかに正の時、彼らは誰よりもここで新しいもののかなり多くを通知される予定です!

2012年1月3日(火) 4:07
このコメントを編集/削除

5 : Gyday

скачать http://skachatbesplatnoj7.info/?p=9205 - Девушки в прозрачной одежде 200 фото (2011/jpg)
скачать <a href="http://skachatbesplatnoj7.info/?p=6254">Опасный квартал / The Son of No One (2011) HDRip</a>

2012年1月6日(金) 11:35
このコメントを編集/削除

この記事にコメントする

(空欄可)

(blog上では公開されません。空欄可)

 (コメントの編集・削除に必要になります。半角英数4~16文字、空欄可)


この記事の情報