Javascriptのdocument.writeに改行があるコードを大量に楽に各方法は?


htmlの長いコードをdocument.writeする際に、1行ごとに処理を書くのが面倒です。
頭と、けつに何か書くだけで、後は普通のhtmlを書くようにすることはできないでしょうか?

考えられる方法
1.いっそのこと長いコード部分の改行を全削除。処理は1行でかけるが、見にくい。
2.各行では
str+="sssssss";
str+="ddddddd";
のように文字列の結合だけして、最後に出力。⇒1行ごとに手を入れるのが面倒。
の2つくらいしか思いつきません。

もっといい方法はないでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/01 01:29:13
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:YasuyukiMiura No.3

回答回数33ベストアンサー獲得回数7

ポイント38pt

> 頭と、けつに何か書くだけで、後は普通のhtmlを書くようにすることはできないでしょうか?

そういう機能はヒアドキュメントと呼ばれたりします。


javascriptとヒアドキュメントで検索するといくつか見つかります。


JavaScriptでヒアドキュメントを使うライブラリを作った。 - こせきの技術日記

ではライブラリ化されいて、

<script type="text/javascript" src="heredoc.js">
var str=<<EOL
sssssss
ddddddd
EOL
</script>
<script type="text/javascript">
document.write(str);
</script>

のような感じで望みの機能になりそうです。

id:dingding

これです!

2008/02/01 01:27:55

その他の回答3件)

id:KUROX No.1

回答回数3542ベストアンサー獲得回数140

ポイント11pt

http://maglog.jp/lightbox/Article24584.html

http://www.gaijin.at/olshjc.php

HTMLから、document.writeに変換するソフトを使ってみては?

他にもいろいろあったと思います。

id:dingding

ありがとうございます。

2008/02/01 01:27:13
id:GEN111 No.2

回答回数472ベストアンサー獲得回数58

ポイント21pt

Perl や PHP みたいにヒアドキュメントのようなことはできませんが、

各行末に「\」をつけることで複数行の記述ができます。

<html>
  <head>
    <script type="text/javascript">
    </script>
  </head>
  <body>
    <script type="text/javascript">
      document.write(
'01234\
ABCDE\
あいうえお') ;
    </script>
  </body>
</html>
id:dingding

これはけっこういいですね。

2008/02/01 01:27:33
id:YasuyukiMiura No.3

回答回数33ベストアンサー獲得回数7ここでベストアンサー

ポイント38pt

> 頭と、けつに何か書くだけで、後は普通のhtmlを書くようにすることはできないでしょうか?

そういう機能はヒアドキュメントと呼ばれたりします。


javascriptとヒアドキュメントで検索するといくつか見つかります。


JavaScriptでヒアドキュメントを使うライブラリを作った。 - こせきの技術日記

ではライブラリ化されいて、

<script type="text/javascript" src="heredoc.js">
var str=<<EOL
sssssss
ddddddd
EOL
</script>
<script type="text/javascript">
document.write(str);
</script>

のような感じで望みの機能になりそうです。

id:dingding

これです!

2008/02/01 01:27:55
id:y-kawaz No.4

回答回数1422ベストアンサー獲得回数226

ポイント20pt

あまり見る機会はありませんが、以下のように行末に \ を書くと一つの文字列リテラルを複数行にわたって書くことができるようです。

文字列全体の頭とけつに書くだけで、というわけにはいきませんが、各行の頭とけつに +"~" や str+="~" を書いていくよりは行末だけでよいので楽だと思います。

var str = "foo\
bar\
baz";
alert(str);

この出力は "foobarbaz" となります(改行文字はなかったことになります)。

このコードは IE、Firefox、Operaで動作するようです。

id:dingding

いいですね。

2008/02/01 01:28:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません