2005-10-12

quickurl で emacs-w3m と firefox のどちらを呼び出すか URL で切り替える

最近、 Google Maps を始めとして JavaScript 全開なページが増えてきた。困るのは、JavaScript なページは Emacs-w3m のようなテキスト・ブラウザーでは見ることができないこと。今回は、JavaScript やフラッシュを使っていてテキスト・ブラウザーで閲覧できないページの URL をブラック・リストとして保存し、テキスト・ブラウザー ( Emacs-w3m) とモダン・ブラウザー ( firefox, etc...) に切り替える設定をば書いてみる。

設定

;;
;; emacs-w3m で見られない URL のブラックリスト
;;
(setq browse-url-dhtml-url-list
      '("http://www.google.com/reader/"
 "http://maps.google.co.jp/"
 "http://map.yahoo.co.jp/"
 "http://map.labs.goo.ne.jp/"
 "http://www.haloscan.com/"
 "http://sitemeter.com/"
 "http://www.hmv.co.jp/"
))
;;
;; ブラッリストにマッチしたら firefox、しなかったら emacs-w3m。 
;;
(setq browse-url-browser-function 
      `((,(concat "^" (regexp-opt browse-url-dhtml-url-list)) . browse-url-firefox)
 ("." . w3m-browse-url)))

変数 browse-url-browser-function は、ブラウザー名を直接指定するだけでなく、 (URL-REGEXP . BROWSER) な alist も取ることができる。つまり、上の設定は、 browse-url した時に browse-url-dhtml-url-list に URL がマッチしたら firefox を呼び出し、そうでなかったら Emacs-w3m を呼ぶ。

Emacs の quickurl-browse-url-ask で書いたように、quickurls を使った browse-url でもこの設定は有効。ただし、 Emacs-w3m の中でリンクを辿る場合は、この限りではない。

ref

Emacs-w3m と browse-url 周りの設定については、以下のエントリーも参考にどうぞ。

No comments:

Post a Comment