人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML JavaScript STR Write コード
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● KUROX
●11ポイント

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

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

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

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

◎質問者からの返答

ありがとうございます。


2 ● GEN111
●21ポイント

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

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

<html>
 <head>
 <script type="text/javascript">
 </script>
 </head>
 <body>
 <script type="text/javascript">
 document.write(
'01234\
ABCDE\
あいうえお') ;
 </script>
 </body>
</html>
◎質問者からの返答

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


3 ● ココサブ
●38ポイント ベストアンサー

> 頭と、けつに何か書くだけで、後は普通の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>

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

◎質問者からの返答

これです!


4 ● y-kawaz
●20ポイント

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

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

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

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

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

◎質問者からの返答

いいですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ