2007年11月11日(日)
Leopard SafariのWebクリップ機能に関するメモ [Mac&あぽー]
LeopardことMac OS X 10.5をメインマシンにも導入し,本格的に使い始めました。Safariもバージョン3になり,Webページの一部を切り抜いてDashboard上でも内容を閲覧できる“Webクリップ”機能が搭載され,さらに使い勝手が向上しましたね。この機能を使うと,ニュースサイトのヘッドラインや天気予報サイトなど,最新情報がめまぐるしく変わるページをブラウザでいちいち開かなくても確認できるため,例えばmixiの最新日記のカラムなどをクリップしてDashboard上でチェックしていたりします(RSSが提供されているページだったら,RSSフィードをSafariに登録してもいいのだけどね)。HTMLに限らず画像やFlashなどもクリップ可能なので,ライブカメラの映像などもDashboardに置いているのですが,イメージファイルの場合,Safariのウインドウ上で縮小表示していても(Dashboard上では)どうやら原寸大で表示されてしまうようなのです。そのため,大きな画像サイズで提供されているライブカメラだと,スペースの関係であまり多く置けないのが残念なところ。本来であれば,イメージの拡大・縮小ぐらいWebクリップの標準機能に含まれていてもよさそうだけど,ちょっと調べてみた限りではなさそうだったので,とりあえず自分のマシン上でApacheを動かし,PHPでオリジナルの画像の縮尺を変え,(ローカルの)プロクシを通したURLをクリップすることで無理矢理リサイズする方法を考えてみました。手順は以下の通り。
1. システム環境設定>共有の“Web 共有”が“入”になっている場合は,一旦サービスを停止する
2. PHPを有効にする。動作しない場合は,viなどのエディタで /etc/apache2/httpd.conf を編集する(参考)。LeopardからはApache 2.0が標準になっているようなので,間違って /etc/httpd/httpd.conf を編集しないように注意
3. ローカルでWebサーバを動かすので,セキュリティに不安な場合は自分のマシン以外からはアクセスできないように httpd.conf を書き替える(参考)。具体的には,215行あたりを次のように修正する
--変更前-- Order allow,deny Allow from all --変更後-- Order deny,allow Deny from all Allow from 127.0.0.1
4. 以下のソースを任意のエディタに貼りつけ,“.php”の拡張子を付けて保存する(例:changeScale.php)
<html> <head><title>Web Clip</title></head> <body style="margin:0;padding:0;"> <?php $t_url = $_GET['url']; $t_width = $_GET['width']; $t_height = $_GET['height']; echo '<img src="' . $t_url . '" width="' . $t_width . '" height="' . $t_height . '">'; ?> </body> </html>
5. 保存したPHPファイルを,/Library/WebServer/Documents に移動する。/Users/〜ユーザー名/Sites でも動くが,前バージョンからLeopardを上書きインストールした場合,正しいURL(例:http://127.0.0.1/〜abc/changeScale.php)でアクセスしても“Forbidden”になってしまう不具合があるため,前もって /etc/httpd/users/*.conf を /etc/apache2/users にコピーしておく必要がある(参考)。また,必要に応じて 3で書いたアクセス制限を /etc/apache2/users/*.conf に対しても個別に設定する
6. システム環境設定>共有の“Web 共有” を“入”にし,以下の例を参考にSafari上でURLを表示する(高さ・幅の縦横比を一致させないと画像が潰れて表示されるので注意)。画像が表示されたら,Webクリップボタンをクリックし,Dashboard化すれば完成
http://127.0.0.1/changeScale.php?url=<画像のURL>&width=<Dashboardにクリップする幅>&height=<Dashboardにクリップする高さ> 【例】 http://127.0.0.1/changeImgScale.php?url=http://space.jaxa.jp/TnscTV/tnscnow01.jpg&width=360&height=243 ※JAXAのライブカメラ(オリジナルのサイズは720x486)を50%縮小表示
上記の手順は,オリジナルの画像の縮尺をHTMLのimgタグで変更しているだけです。そのため,送られてくるファイルサイズは元の画像と同一なので,従量制の通信をしている場合は気をつけてくださいね(ってまぁ,常時接続じゃないとWebクリップ機能自体使わないと思うケド^ ^;)。あと,先にも書きましたが,ローカルでWebサーバを動かすことになるので,Firewallのない環境下で使用する場合は特にセキュリティにはご留意を〜。At your own riskということでよろしく(笑)。
追記:もっとも,こんな面倒なことをするぐらいだったら,最初からライブカメラに対応したWidgetをダウンロードした方が早いだろうケド(^ ^;)。
Posted by 神海 螢 / コウミ ケイ at 2007年11月11日(日) 12時54分 コメント ( 0 )