target=_blank を使わず別ウィンドウでリンクを開く

| トラックバック(0)

target=_blank を使わないで新しいウィンドウでリンクを開く

リンクをクリックすると、新しいウィンドウでリンク先を表示させるには、target="_blank"が知られているが、
「新しいウィンドウを開くかどうかはユーザーが決めるのが望ましい」という考えから、この書き方はXHTMLに準拠していない。
とはいえ、作り手としては、せっかくだから、リンク元サイトは開いたまま、リンク先を新しいウィンドウで開きたい、と思うものだ。
そこで、target=_blank を使わないで新しいウィンドウでリンクを開く方法を。

JavaScriptを使った単純な回避法

<head>~</head>内に以下を追加

<script type="text/javascript">
<!--
window.onload= function() {
 var a_all = document.getElementsByName("outside");

 for (i = 0; i < a_all.length; i++) {
  a_all[i].target = "_blank";
 }
};
// -->
</script>

リンクの記述

<a name="outside" href="リンク先URL">アンカーテキスト</a>

ただ、name属性もいずれ滅びるという事なので、あまりオススメはできない。 

rel="external"で新しいウィンドウでリンクを開く

以下を「 external.js 」という名前で保存し、サーバーにアップロードする

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
((anchor.getAttribute("rel") == "external nofollow") || (anchor.getAttribute("rel") == "nofollow external") || (anchor.getAttribute("rel") == "external")))
anchor.target = "_blank";
}
}
window.onload = externalLinks;

<head>~</head>内に以下の1行を追加(保存先のURLを入れて)

<script type="text/javascript" src="/パス/external.js"></script>

リンクの記述

nofollowタグ無し
<a rel="external" href="リンク先URL">アンカーテキスト</a>

nofollowタグ有り
<a rel="external nofollow" href="リンク先URL">アンカーテキスト</a>

※GoogleやYahoo、Bingといった大手検索エンジンは、リンク属性に「rel="nofollow"」がついているサイトへのリンクは、ページランク等の集計対象に含まない。

MTで対応させる

上記のソースは、MTでは個別記事で動かない。mt.cgi の中に window.onload の記述があって、
アーカイブや個別記事で先に動いてしまう。 そこで prototype.js の Event.observe を使う。

上記「 external.js 」ファイルの最後

window.onload=externalLinks;

を下記に変更

Event.observe(window,'load', externalLinks, false);

また、prototype.js を<head>~</head>に追加

<script type="text/javascript" src="/パス/prototype.js"></script>

これで個別記事でも動く。

 

関連記事:
http://seofromusa.com/wordpress-customizazion/target-blank-rel-external-nofollow/
http://www.hvc-001.com/mt/2009/01/14211727.html

 

トラックバック(0)

トラックバックURL: http://html.datura.jp/mt-tb.cgi/216

ウェブページ

  • 人気ブログランキングへ
  • にほんブログ村 ブログブログ ブログアクセスアップへ
  • にほんブログ村 IT技術ブログ SEO・SEMへ
  • 検索エンジン SEARCH DATURA
  • Valid XHTML 1.0 Transitional
  • ページランク表示用ブログパーツ E-PageRank