よくSEOの対策を委託している会社から依頼がくる。
その中で、時々 '<scr'+'ipt>'って出てくるけど、何でかなぁ〜と思っていたのだけど、
気が向いたので調べてみた。
このパターンが良く利用されているのは、タグにユニークなIDを埋め込むとき。
例えば、現在の時刻を利用してユニークIDを設定したい場合は、
<SCRIPT language="JavaScript" type="text/javascript">
var uid = +new Date();
document.write('<img src="http://hogehoge.com&u=' + uid + '&q=1" width=1 height=1>');
document.write('<scr' + 'ipt type="text/javascript" src="http://hogehoge&u=' + uid + '&q=1">' + '</scr' + 'ipt>');
// -->
</SCRIPT>
ちなみに、
+new Date();
は、
var date = new Date().getTime();
date.getTime();
と同意。日付インスタンスの頭に「+」を付けるだけで、
日付オブジェクトは、四則演算するときに自動的にミリ秒変換して数値として計算するみたい。
で、このようにスクリプト中で生成したものを出力したいときに、
document.writeを利用しているが、その時に'<scr'+'ipt>'を使用しているをの良く見る。
結果として、これの意味は、
"HTMLのパーサにタグとして読み込まれないようにする"
ためのものらしい。
なるほどね〜。
'<scrip'+'t>'ってやってもいいみたいだけど、この分けかたが慣例になってるのかな?