====== Version 0.4 Release ====== meta-tags: opera,javascript,userjs,get-n-go-selection-links.js meta-author: t_ashula meta-entiry_id: get_n_go_selection_links_v04 meta-creation_date: 2007-01-09T03:10:54+09:00 選択領域内のリンクやらをまとめて開く get-n-go-selection-links.js ver. 0.3 をいろいろ書き換えて ver. 0.4 としてリリース. お持ち帰りは[[http://ashula.info/files/opera/tips/get-n-go-selection-links.js|get-n-go-selection-links.js]]から. 導入は[[opera:tips:get_n_go_selection_links|ver 0.1]]を参照. 追記[[opera:tips:get_n_go_selection_links_version_0_6_release|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() を呼ばないようになったので多少は高速化(したんじゃないかなぁ)