ページ内に書き込みする
<script type="text/javascript">
<!--
document.open();
document.write("こんにちは");
document.close();
// -->
</script>

document.open() で書き込みを開始します。そして、document.write() で本文に表示したい文字を記述します。文字列を出力する場合はクォーテーションで括ります。最後に document.close() で書き込みを終了します。

document.open() と document.close() を省略して document.write() のみを使用しても表示することは可能です。

新しいページを開いて書き込みする
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>サンプル</title>
<script type="text/javascript">
<!--
function newpage() {
	document.open();
	document.write("こんにちは<br>\n");
	document.writeln("<a href='javascript:history.back();'>戻る<\/a>");
	document.close();
}
// -->
</script>
</head>
<body>
<a href="javascript:newpage();">新しいページ</a>
</body>
</html>
新しいページ

関数 newpage が呼び出されると document.open() で書き込みを開始します。そして、document.write() で本文に表示したい文字を記述します。最後に document.close() で書き込みを終了します。

document.write はダブルクォーテーションで括っていますから、タグ等でクォーテーションを使用する場合はシングルクォーテーション「'」かダブルクォーテーションをエスケープした形「\"」で括る必要があります。

クォーテーションの組み合わせ例
document.write("<a href='./index.html'>戻る<\/a>");
document.write('<a href="./index.html">戻る<\/a>');
document.write("<a href=\"./index.html\">戻る<\/a>");
document.write('<a href=\'./index.html\'>戻る<\/a>');

document.write() と document.writeln() の違いは、write はそのまま出力するのに対して、writeln は最後に改行コードを追加して出力されます。

HTML 4.01 に準拠する場合、スクリプト内に終了タグ (</??>) の「</」を直接記述することはできませんので、スラッシュをエスケープ (<\/??>) するか、document.write("<" + "/body>"); のように「<」と「/」を分けて記述する必要があります。

特に Netscape では、スクリプト内に <script> 〜 </script> を記述する場合、上記のようにエスケープするか分けて記述しないとスクリプト内の </script> が JavaScript の終了とみなしてエラーになる場合がありますのでご注意ください。

別ウィンドウを開いて書き込みする
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>サンプル</title>
<script type="text/javascript">
<!--
function new_write() {
	var page = window.open("", "", "width=400,height=200");
	page.document.open();
	page.document.write("<html><head><title>こんにちは<\/title><\/head><body>");
	page.document.write("<p>このようにページを追加しなくても表示できます。<\/p>");
	page.document.write("<a href='javascript:window.close();'>閉じる<\/a><\/body><\/html>");
	page.document.close();
}
// -->
</script>
</head>
<body>
<a href="javascript:new_write();">新しいウィンドウ</a>
</body>
</html>
新しいウィンドウ

window.open() と document.write() の組み合わせで、もう1枚の HTML ファイルを作らなくても別ウィンドウに書き込みして表示します。通常は document.write() で書き込みして表示するのが同一ウィンドウですが、全てに window.open() とすることによって別ウィンドウで表示できます。もちろん window.open() にウィンドウのプロパティを追加しなければ、通常の別ウィンドウで表示されます。

[PR] ホットペッパー