選択領域内のリンクやらをまとめて開く get-n-go-selection-links.js ver. 0.3 をいろいろ書き換えて ver. 0.4 としてリリース.
お持ち帰りはget-n-go-selection-links.jsから. 導入はver 0.1を参照.
追記Ver 0.6
##変更点
ver 0.4 での主な変更点は以下の通り
- URL らしき文字列に対する処理の追加
- 警告するリンク数の設定方法の改善
- 内部処理の再帰関数化
###URLらしき文字列に対する処理の追加の概略
Operaの標準の Go to URLを拡張したような機能.普通の文字列として書かれたURLっぽい文字列に対してURLとして取り出す機能.
現状の制約として次のようなHTMLではURLを検出できない.
- URLが要素をまたがっている場合.
- 複数のURLが空白(U+20)以外の文字で区切られている場合
要素をまたいでいる場合とは,
http://www.example.com http://www.example.com,http://www.example.org,http://www.example.net
というふうな場合.
空白以外の文字で区切られている場合とは,
というふうに “,” などでつながってる場合
前者は,DOM上の問題で,後者はURLと認識させる正規表現の精度の問題なので,いずれ改善するつもり.
###警告するリンク数の設定方法の改善
conf.confirm_open_window に 0 以下の値を設定すると警告なしに,いくつでも開けるように.
ver. 0.3 だと,巨大な数値を設定する必要があったので 設定値が自然数の場合のみに変更
###内部処理の再帰関数化
文字列にたいしても抽出可能にする都合上,nodeType を見ていく必要がでてきたので,全面的に見直し.
nodeType が ELEMENT_NODE のときに,childsNode に対して再帰的に URL 抽出の関数を呼ぶように書き直した.ついでに,URLのフィルタリングなども独立した関数に分割.
getElementsByTag() を呼ばないようになったので多少は高速化(したんじゃないかなぁ)