タイトルは「たった1行」って言いたかっただけだ。
URL 短縮サービスなどで、オリジナルのページへ転送せずに
そのサービスの URL を保ったまま
画面の上部にツールバーのようなものを表示して
元ページは <iframe />
に読み込むのがありますね。
あれはあれで便利な人には便利なんだと思いますが
どうも個人的な好みにはあわない。
試してみたこともあるんだけど、
本来のデザインにはないはずのものが追加されちゃうし
オリジナルのページへの直リンクにならないし
中には <meta />
要素で堂々と著作権を主張するものまであって
これ何か違うなあと思ったのでやめました。
自分の書いた記事が
そういうサービス経由でシェアされているのを見ることもあるけど、
共有する価値があると認めてもらえるのは嬉しいし
それで不愉快な思いをするわけではないから
やっていただくのは一向に構いません。
でもまあせっかく一生懸命書いた記事なので
できれば別のサービスの一部に取り込まれるのではなく
独立したページとしてそこに在りたい。
ということで、表示と URL を取り戻すために
こういう JavaScript を埋めました。
<script type="text/javascript"> if (window.top != window.self) { window.top.location = window.self.location; } </script>
ウィンドウのトップがそのページ自身と違う場合に
トップの location
を書き換える。
1行にするとこう。
<script type="text/javascript">if (window.top != window.self) window.top.location = window.self.location;</script>
対策を施した相手のサンプルとして出して申し訳ありませんが
例えば次のリンクで動作確認できると思います。
これもっと意地悪なこともできるんだけど、
そんなことしても誰も幸せにならないのでやめました。