[XHTML 1.0 Strict・IE6/7対応]外部リンクアイコン自動挿入Script

By | 2011年3月31日

以前仕事で作った、「外部リンクアイコン自動挿入Script」を公開します。
target=”_blank”を使えないXHTML 1.0 Strictの文書型で外部リンクを別ウィンドウで開きたいと思っていろいろ検索したのですが、探し方が悪かったのかhttps://~で始まる自社サーバを除外してくれるものが無かったので自作したのがきっかけです。
ついでに外部リンクアイコンをテキストの後ろにCSSで背景画像指定したら、IE6・7でリンクテキストが複数行に渡った場合にとんでもない場所に表示されてしまう問題も一緒に解決しようとか、その他細々欲しい機能を盛りこんで全部入り(?)っぽく仕上げてみました。
似たような要望あるんじゃないかなぁ?と思うのでよかったら使ってください。
★主な仕様★
—————————————————
・外部サイトは自動的に別ウィンドウで開く(target=”_blank”不要)
・「外部サイト」の判定は、「http://~」または「https://~」で始まるリンクのうち、
自分自身のドメイン以外のもの
・外部リンクにはリンクテキストの末尾に自動的にアイコンを挿入(class不要)
・IE6/7で複数行インライン要素における背景画像の表示バグ回避のため、IE6・7のみはIMG要素を自動で挿入
・内部リンクでも意図的に別ウィンドウで開きたい場合はa要素にclass=”blank”で対応。
・外部リンクにアイコンを付けたくない場合(画像からのリンク等)はa要素にclass=”noicon”で対応。
—————————————————
プラグイン化はしてませんが、必要なパラメータはjs内の初期設定で変数指定できるようにしてあるので、必要に応じて変更してください。
ちなみにJavaScriptあんまり詳しくないのでかなりベタな方法で書いてます。もっとスマートなコードに書き換えられる方は是非教えてください!(切実)あと機能追加とかプラグイン化とか!そして私にください(笑)
特にこんな機能が追加されると素敵だと思います。
・アイコンを追加する場所を前か後か選択できる
・内部リンクとして認識するフルパスを複数指定できる
・画像にリンクが貼ってある時には自動的にアイコンを付けない設定にする
どなたかお願いしますm(_ _)m
★サンプル付きデータはこちら↓↓
ダウンロード


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA