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


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

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

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

回答の条件
  • 1人2回まで
  • 登録:2008/01/30 21:50:17
  • 終了:2008/02/01 01:29:13

ベストアンサー

id:YasuyukiMiura No.3

ココサブ回答回数33ベストアンサー獲得回数72008/01/30 22:30:35

ポイント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

KUROX回答回数3542ベストアンサー獲得回数1402008/01/30 22:21:46

ポイント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

GEN111回答回数472ベストアンサー獲得回数582008/01/30 22:27:08

ポイント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ベストアンサー獲得回数72008/01/30 22:30:35ここでベストアンサー

ポイント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

y-kawaz回答回数1420ベストアンサー獲得回数2252008/01/30 22:40:50

ポイント20pt

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

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

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

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

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

id:dingding

いいですね。

2008/02/01 01:28:18

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません