サマリ | 外部サイトへのリンクに矢印をつける |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.4.4 |
投稿者 | ありぃ |
投稿日 | 2004-11-09 (火) 20:54:44 |
外部サイトへのリンクに、矢印をつけます(こんな感じ)。呼び出されると、ページ全体に適用されます。MenuBarなどから呼び出すと便利かもしれません。
実態は、その場所にJavaScriptのソースを書き込む*1だけのプラグインです。
外部サイトかどうかは、ホスト名で判別しています。例えば、hogehoge.comとfoo.hogehoge.comは別のサイト、hogehoge.com/MT/とhogehoge.com/pukiwiki/は同じサイトと判断します。
自作スキン/OrangeBoxなどでは、すでに組み込まれています。改めて導入する必要はありません。
コマンド型プラグイン
#exlink
引数は必要ありません。
exlink.inc.phpはpluginディレクトリに放り込んでください。external_link.gifはimageディレクトリなどに保存してください。
imageディレクトリ以外の場所に保存した場合は、exlink.inc.phpの20行目付近を修正してください。
矢印の画像を表示するimgタグには、external_linkクラスが設定されています。CSSでの設定にご利用ください。
例 img.external_link{ margin-right:.5em; margin-left:.2em; }
以下のようなソース(実際にはscriptタグがつきますが)が出力されます。下のソースを.jsのファイルにして、スキンのheadタグ内で呼び出してもかまいません。
(横スクロールバーが出るので、適当に改行と空白を入れています) function external_link(){ var host_Name = location.host; var host_Check; var link_Href; for(var i=0; i < document.links.length; ++i) { link_Href = document.links[i].host; host_Check = link_Href.indexOf(host_Name,0); if(host_Check == -1){ document.links[i].innerHTML = document.links[i].innerHTML + "<img src=\"image/external_link.gif\" height=\"11px\" width=\"11px\" alt=\"[外部リンク]\" class=\"external_link\">"; } } } window.onload = external_link;
document.links[i].onclick = function () { window.open(this.href, "_blank"); return false; }
document.links[i].target="_blank";
if(host_Check == -1 && (document.links[i].href.search(/^javascript:/i) < 0)){
if(host_Check == -1 && (document.links[i].href.search(/^(javascript|mailto):/i) < 0)){
try{ window.addEventListener('load', external_link, false ); } catch(e) { window.attachEvent('onload', external_link ); }
if (document.links[i].tagName != "AREA"){ document.links[i].innerHTML = document.links[i].innerHTML + "<img src=\"image/external_link.gif\" height=\"11px\" width=\"11px\" alt=\"[外部リンク]\" class=\"external_link\">"; }
// Added by Akiko on 20090803 link_proto = document.links[i].protocol; if (link_proto == "mailto:") { // do nothing; return; }