htmlの長いコードをdocument.writeする際に、1行ごとに処理を書くのが面倒です。
頭と、けつに何か書くだけで、後は普通のhtmlを書くようにすることはできないでしょうか?
考えられる方法
1.いっそのこと長いコード部分の改行を全削除。処理は1行でかけるが、見にくい。
2.各行では
str+="sssssss";
str+="ddddddd";
のように文字列の結合だけして、最後に出力。⇒1行ごとに手を入れるのが面倒。
の2つくらいしか思いつきません。
もっといい方法はないでしょうか?
> 頭と、けつに何か書くだけで、後は普通の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>
のような感じで望みの機能になりそうです。
http://maglog.jp/lightbox/Article24584.html
http://www.gaijin.at/olshjc.php
HTMLから、document.writeに変換するソフトを使ってみては?
他にもいろいろあったと思います。
ありがとうございます。
Perl や PHP みたいにヒアドキュメントのようなことはできませんが、
各行末に「\」をつけることで複数行の記述ができます。
<html> <head> <script type="text/javascript"> </script> </head> <body> <script type="text/javascript"> document.write( '01234\ ABCDE\ あいうえお') ; </script> </body> </html>
これはけっこういいですね。
> 頭と、けつに何か書くだけで、後は普通の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>
のような感じで望みの機能になりそうです。
これです!
あまり見る機会はありませんが、以下のように行末に \ を書くと一つの文字列リテラルを複数行にわたって書くことができるようです。
文字列全体の頭とけつに書くだけで、というわけにはいきませんが、各行の頭とけつに +"~" や str+="~" を書いていくよりは行末だけでよいので楽だと思います。
var str = "foo\ bar\ baz"; alert(str);
この出力は "foobarbaz" となります(改行文字はなかったことになります)。
このコードは IE、Firefox、Operaで動作するようです。
いいですね。
これです!