赤字:JavaScriptの命令や重要なタグ/青字:用途に応じて変更する部分/緑字:変更可能な変数名やユーザー関数名
<script type="text/javascript"> var ref = document.referrer; //前ページ if (ref != "") { var n = ref.indexOf("//")+2; var m = ref.indexOf("/",n+1); if (m == -1) {m = ref.length;} //ドメイン名を抜き出す if (n > -1) {ref = ref.substring(n,m);} } //ドメイン名が同じ場合 if (document.domain == ref) { s = "<a href='javascript:history.back()'>戻る</a>"; } else { s = "<a href='javascript:this.close()'>閉じる</a>"; } document.getElementById("view_back").innerHTML = s; </script>
リンク元と設置ページのドメイン名を比較して、同じサイトからページを開いた場合は「戻る」と表示し、そうでない場合は「閉じる」と表示します。
自己サイト内でのリンクと、外部からの直接リンクを区別しているということになります。
「閉じる」の代わりに自己サイトへのリンクを置くことで、直接リンクで来た来訪者を自己サイトに取り込むことが出来ます。
JavaScriptを使ってリンク先に飛んだ場合、document.referrerにはリンク元が表示されません。また、ブックマークから開いた場合も同様です。