▼Menu

リンクで_blankを使わず新ウィンドウに表示させる方法

ウェブページでリンクをクリックして、新しいウィンドウ表示するには、普通target="_blank"を使います。このかわりにJavaScriptを使ってrel="external"を使う方法を試してみました。


広告

リンクを新しいウィンドウに表示させるかどうかの問題

ワードプレス楽天 (Word Press)ではコメントのリンクにrel="external nofollow"との記述が自動的に入って、このリンクをクリックすると同じウィンドウ内に表示されるようになっています。これを新しいウィンドウに表示したいと思ったら、リンクを右クリックしてメニューから選ぶか、SHIFTかCTRLキーを押しながらリンクをクリックします。

ウェブページでリンクをクリックして、新しいウィンドウ表示するには、普通target="_blank"を使います。しかし、この書き方はXHTML (1.0Strictや1.1)には準拠していません。これは、新しいウィンドウを開くかどうかはユーザーが決めるべき問題で、ウェブページ側では決めないという考え方からきています。

でも、全ユーザーが新しいウィンドウで開くやり方を知っているかというと疑問です。やはり外部リンクは新しい窓で開きたいものです。そうしないとまた元のページに戻ってくるのが大変ですし、もう戻ってきてくれないかも知れません。

target="_blank"を使うと、HTMLの文法チェッカーで検査すると、間違っていると警告が出ることがあります。これを回避するにはJavaScriptを使う方法があります。

今回のこの方法以外に、外部リンクは新しいウィンドウを開く画像リンクも同時に表示させる「新ウインドウに表示2」の記事もあります。これはユーザーが新しいウィンドウを開くかどうかを選択できます。

JavaScriptを使ってtaget="_blank"のかわりにrel="external"を使う方法

HTMLのヘッダーでJavaScriptを読み込ませて、リンクを設置するときにtaget="_blank"のかわりに、rel="external"またはrel="external nofollow"を使う方法です。

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; 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;

このコードを例えばexternal.jsという名前でドメインルート等に保存し、アップロードします。これを呼び出すには、HTMLヘッダー部で次のように記述します。

<script type="text/javascript" src="http://hogehoge.jp/external.js"></script>

これを使うにはリンク作成時にaタグ内でrel="external"、または、 rel="external nofollow" と書くだけです。

ここでは、onload を使っていますが、他でもonload を使っているとうまく働きません。onclick を使う方法もあります。詳しくは「Google +1ボタン」のページを見てください。

スポンサーリンク

でも、自分の書いたコードではこれが適用できますが、広告の中のコードには適用することができません。グーグルや楽天アフィリエイトではコードを書き換えることが禁止されているからです。この方法も自己満足に過ぎませんね。知っていて損はないでしょう。

 
Main Menu |Mobile |Top Page |電気、電器 |工夫と製作 |アンテナ |デジタル放送 |修理技術1 |修理技術2 |修理過去ログ |電気柵 |生活情報 |健康情報 |名所旧跡 |ネット環境 |WordPress |写真集 |English Top
リンク集 |Sitemap |お問合せ |Pポリシー |修理掲示板
ネット環境 Menu |BBS迷惑書込 |迷惑Mail |Mail送信規制 |nPOP使い方 |BBSログ変換 |過去ログ表示 |MailCGI改造 |HPフォルダ構造 |サーバ引越 |英語サイト作り方 |二ヶ国語相互リンク |携帯サイト作り方 |XHTML Basic |XHTML Mobile P |携帯アクセス制御 |PC携帯両用サイト |サブドメイン同期 |XHTMLに書換 |TEXTメニュー |新ウィンドウに表示1 |新ウィンドウに表示2 |外部トラッキングコード |メニュー配置 |HTML一括変更 |ファイル取込 |ヘッドタグ共通化 |外部CSS |CSSコマンド |印刷用CSS |標準,互換モード |段組 |表示の速いHP |HP横幅 |HP背景 |HP文字 |HP見出し |HPタイトル |画像使い方 |altとtitle属性 |アクセスアップ |サイトマップ作成 |RSS配信 |自ドメインRSS |RSS使い方 |htaccess転送 |パラメータ削除 |wwwの有無と統一 |アクセス制限 |Adsenseクリック規制 |Adsense表示規制 |Google広告配置 |チャネルの設定 |ブログ人に広告配置 |ランダム画像切替 |デザイン自動切替 |フォルダ名取得 |Google+1ボタン |いいねボタン |Facebookのコメント |HPビルダ起動時間 |Expression Web |複数パソコンHP更新 |FFFTP使い方 |文字大きさ |モニタの選び方 |タッピング |ページ内検索 |ショートカットキー |Thumbs.db |日本語FEP |上手な日本語変換 |データ伝送 |MTUとMSS
山里の素人農業 |Daii-Wiki |私のブログ |Car Evolution |Tomy's HP |ページの先頭
 
 
as76.net
RSS
 
楽天市場
広告
Valid XHTML 1.0
Only OGP error
更新日:2012/03/06