リファラーによってインラインフレーム内にあるリンクのリンク先を変えれたら便利になるなと思って javascript で自作してみました。こんな事したいと思う人は多分いないニッチなものだと思います。
どういう時に使いたかったかと言うと、複数の違うドメインのページから一つのページをインラインフレームで読み込みます。インラインフレームの中にはリンクがあります。
普通通り a タグでリンクを貼ればリンク先は一つのページのみです。インラインフレームを読み込んだサイトによってリンク先を変えたかったのです。
これを javascript で実現してみました。javascript をオフにしている人は…。想定外です。
まずはソースを御覧ください。このスクリプトはインラインフレーム内に記述しています。
<script type="text/javascript" language="javascript"> <!-- var parentURL =document.referrer; var selectURL; if(String(parentURL).indexOf("webmist")!=-1){ selectURL = "https://webmist.info/sample.html"; }else if(String(parentURL).indexOf("pocket-se")!=-1){ selectURL = "http://pocket-se.info/sample.html"; } document.open(); document.write("<a href='" + selectURL + "' target='_top'>リンクテキスト</a>"); document.close(); --> </script>
まずは javascript でリファラー(インラインフレームを読み込んだサイトのURL)を取得し、リファラーに含まれている文字列によってリンク先となる URL を selectURL という変数に格納しています。
あとは、javascript で a タグのリンクを書き出しています。
これで何が良くなったのか?このスクリプトを使わなかったらドメインごとにインラインフレーム内のページを作らなくてはいけませんでしたが、これによってインラインフレームのページは一つで済むようになりました。
前述の通り、こんな事をしたいという人は多分いないと思います。何かの参考になれば幸いです。