document.write( ) を使用する

29 4月

IE ver.10 の対策として、これまで条件付きコメントで実現していたIE かどうかの判定を、別の方法でやることになりました。スクリプトで判断するように書いたのですが、その際これまで条件付きコメントで挿入していたタグをどう取り扱うかが問題になりました。スクリプトの中に、直接タグは書けません。それで、初めて document.write() を使用しました。以下にサンプルをあげます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html><head>

<meta content="text/html; charset=UTF-8" http-equiv="content-type">

    <title>test for simple question</title>

</head>

<body>

<script type="text/javascript">
//<![CDTA[

if (/*@cc_on!@*/false) {

document.write('<div style="height:100px; width:200px; border:solid 1px; padding: 10px;">You use IE.</div>');

} else {

document.write('<div style="height:100px; width:200px; border:solid 1px; padding: 10px;">You do not use IE.</div>');

}

//]]>
</script>

</body>
</html>

‘</script>’ などはそのままでは書けません。'</script’ + ‘>’ のように分割すると書けます。
他のスクリプトとのタイミングが気になります。