• ベストアンサー
  • 困ってます

JavaScriptに、Perlのヒアドキュメントみたいな方法は?

JavaScriptに、Perlのヒアドキュメントみたいな方法はないのでしょうか? JavaScriptの外部ファイルを使って、SSIの[include]みたいなことをやりたいのですが、 外部ファイル内で、何回も[document.write]と書かなくてもいいような方法はないでしょうか。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1442
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • ryoyama
  • ベストアンサー率56% (45/80)

Perlのヒアドキュメントのようなものはありませんが、行の最後に¥を付加すれば、複数行に渡って文字列を書くことができます。(Win98,IE5.01で確認) 例: document.write("\ abcdefg\ hijklmn\ opqrstu\ vwxyz\ "); ただし、改行はしてくれないので<BR>タグも文字列中に含めなくてはなりません。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • htmlとjavascript

    javascriptを外部ファイルで作成しています。 HTMLの作ったテキストとjavascriptで作ったテキストを同時に、 組み合わせたいのですがどうしたらいいのでしょうか…? <body> <h1>タイトル</h1> <p>内容</p> ここにjavascriptで文字等を表示 </body> 外部ファイルのjavascriptで「document.write(・・・・・)」 だと、htmlの文章が消えてdocument.writeの文だけになってしまうので、 何か解決策を教えていただけると幸いです。 よろしくお願いいたします。

  • javascriptで外部ファイルをヒアドキュメントっぽくインクルード

    javascriptで外部ファイルをヒアドキュメントっぽくインクルードしたいのですが、うまくいきません。どこがいけないのでしょうか? ■JavaScriptでヒアドキュメントを使うライブラリを作った。 - こせきの技術日記 http://d.hatena.ne.jp/koseki2/20080112/jsheredoc を参考にしているのですが、掲載内容が理解できません。 とりあえず、下記記述としたところ、 外部ファイルをインクルードでき、表示もされるようにはなったのですが、 Firefoxで読み込み完了とならず、いつまで経っても読み込み中のままとなってしまいます。(恐らく完全に正常に処理されているのではなく、どこかの処理で引っかかったままなのだと思います) どう直せばよいのでしょうか? ■index.html <script type="text/javascript" src="heredoc.js"></script> </head> <body> <script type="text/javascript"> var callback = function(values) { document.write(values.str); } Heredoc.load("./templates_02.txt", callback); </script> </body> ■templates_02.txt var str=<<EOT sssssss ddddddd2 <a href="http://www.yahoo.co.jp/">YAHOO</a> EOT

  • ヒアドキュメントの外部化

    perl勉強中です。ヒアドキュメント簡単でいいのですが、 CGIファイル内に書き込み変更することはあまりしたくないのですが、 よくスキン式にしているCGIを見かけますが、どのように外部HTMLファイルを読み込みしているのでしょうか? 下記ヒアドキュメント部分を外部ファイルから読み込みたいです。 なかなか詳しく書いてあるサイトがないので(探し方が下手なので)紹介していただけるサイトはないでしょうか? print <<EOM; <htmlタグ・・・・> EOM

その他の回答 (1)

  • 回答No.1
noname#9414
noname#9414

ありません。 ではでは☆

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Perlをヒアドキュメント内で記述したい。

    Rubyでは、 print <<-EOT 初心者 #{ (''==a) ? "歓迎" : "無視" } EOT のように出来ますが、Perlでの方法はわかりません。 Perlをヒアドキュメント内で記述することは可能でしょうか?

    • ベストアンサー
    • CGI
  • 外部javascriptファイルの中にさらに外部javascriptファイルを入れたい

    javascript初心者です。 メニューの一部を外部ファイルによるツリーメニューにし、 さらにメニュー部分全体を外部ファイルにしようとしましたが、 メニュー部分全体を外部ファイルに移したら、 中のツリーメニューが機能しなくなってしまいました。 いろいろ試してみましたが、付け焼き刃の知識では皆目見当が付きません。 ご指摘いただけると嬉しいです。内容は下記の通りです。 メニュー全体の外部ファイル「menu.js」 document.write('<div id="menu">'); document.write('<h1>お役立ち情報<\/h1>'); document.write('<ul>'); document.write('<script src="javascript\/tree.js" type="text\/javascript"><\/script>'); document.write('<li><a href="javascript:tree("click1");" title="">HOME<\/a>'); document.write('<\/li>'); document.write('<div id="click1" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第1ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第2ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="javascript:tree("click2");" title="">お知らせ<\/a>'); document.write('<\/li>'); document.write('<div id="click2" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第3ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第4ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="#">DOWNLOAD<\/a>'); document.write('<\/li>'); document.write('<\/ul>'); document.write('<\/div>'); 中に入れてあるツリーメニューの外部ファイル「tree.js」 function tree(id) { if (document.getElementById(id).style.display == "block") document.getElementById(id).style.display="none"; else document.getElementById(id).style.display="block"; } .htmlの記述はこうなっています。 <script src="menu.js" type="text/javascript"></script>

  • PerlでJavaScriptを作成しているのですが・・・

    PerlでJavaScriptを作成しているのですが、以下の部分で困っています。 たとえば、Perlの変数「$codes」に「AAA\nBBB\nCCC\n」が入っているとします。 ----------------------------------------------------------------------  print <<"END_OF_HTML";  function sample()  {   document.FORM.ele.value="$codes";  }  END_OF_HTML ---------------------------------------------------------------------- とPerlで記述すると、作成されたソースは、 ----------------------------------------------------------------------  function sample()  {   document.FORM.ele.value="AAA  BBB  CCC  ";  } ---------------------------------------------------------------------- となり、JavaScriptエラーになってしまいます。 Perlでエンコードしてから、JavaScriptでデコードしてみよう!と試してみたのですが、Perl⇔JavaScriptのエンコード/デコードがうまくいきませんでした。 (Perlでエンコードした値が、JavaScriptで元の形に戻せませんでした。わたしの能力不足です。。。) どなたか、よい方法をご存知ないでしょうか?よろしくお願いします。

    • ベストアンサー
    • Perl
  • 外部javascriptファイルをjavascriptから動的に呼び出したい

    呼び出し元のURLによって動作を変えたいJAVASCRIPTがあります。 普段外部のJAVASCRIPTを呼び出すときはよくこうするのですが <script type="text/javascript" src="js.php?key=url"></script> これでは「key=url」が固定になってしまいます。そこで下記のように <script> var commentname=document.URL; var str=encodeURIComponent(commentname); document.write('<script type="text/javascript" src="read.php?key=',str,'"><\/script>'); </script> document.writeを使って無理やり外部Javascriptファイルの呼び出しスクリプトを書いているのですが、この書き方はどうもエレガントさにかけるというか、いまいち気に入りません。 もっとほかに良い方法がある気がするのですが、調べてもわかりませんでした。おわかりになる方がいらっしゃったらご教示頂けないでしょうか。

  • 外部JavaScriptでのdocument.writeについて

    今、JavaScriptを使ってHPを作ろうと思っています。 そこで、外部ファイルとしてJavaScriptを作り、HTML内でsrcを使って読み込んでいます。そのときに問題が発生しているのですが、外部ファイルでdocument.writeを使うと処理が戻ってきません。 例) .... xxxx="テストJavaScript"; document.write(xxxx); .... ちなみに、IEで実行した場合はきちんと表示し、NetScapeで実行した場合にずっと通信中になってしまいます。 これはNetScapeの仕様なのでしょうか。 分かりにくい説明で申し訳ありませんが、どなたかご回答お願い致します。

  • JavaScript 外部ファイルの記述

    <script Language="JavaScript"><!-- h = (new Date()).getHours(); if ( h < 6) document.write("外は暗いですね"); if ((h >= 6) && (h <12)) document.write("午前中"); if ((h >= 12) && (h <20)) document.write("午後です"); if ( h >= 20) document.write("夜です"); // --></script> これは時間ごとに違った文字を表示するものです。 このJavaScriptを外部ファイル化したいのですが、うまくいきません。 以下のように記述しました。 h = (new Date()).getHours(); if ( h < 6) document.write("外は暗いですね"); if ((h >= 6) && (h <12)) document.write("午前中"); if ((h >= 12) && (h <20)) document.write("午後です"); if ( h >= 20) document.write("夜です"); これでどこか間違っているところがあるのでしょうか? よろしくお願いします。

  • ヒアドキュメントについて

    まだperlを学びはじめたばかりの初心者です。 よろしくお願いします。 ヒアドキュメントを使用したところ文字化けをするようになってしまいました(特定の文字ではなく全体です)。原因をあれこれ探していたところ、ヒアドキュメント内のHTMLタグの<meta (略) charset=EUC-JP とEUC-JP指定になっているため文字化けしている事がわかりました。 ヒアドキュメントを使用しない場合は、charset=EUC-JP で問題ないのですが、ヒアドキュメントを使用した場合はShift_JIS と指定しないと文字化けしてしまいます。 ファイルの保存形式は、エンコーディングをEUCに、改行タイプをLFにしています。それからMacOS X 10.39を使用して、まだサーバーにはアップせずに、MacOS X 内でのローカル環境で動作確認するようなかたちで作業をしています。 ヒアドキュメント内で EUC-JP と指定すると文字化けしてしまうものなのでしょうか。 それとも何か対処方法などがあるのでしょうか。 まだ初心者という事で何かずれた質問になってしまっているかもしれませんが、ご教授やアドバイスなどをいただけたらと思います。よろしくお願いします。

    • ベストアンサー
    • Perl
  • 外部ファイルにした時の引数

    今、外部ファイルとして作っていて、疑問になったことがあります。 HTMLファイルから何か引数(番号など)を渡して、それによって動作を変えられないかというものです。perlみたいに・・・ ↓こんな感じで実現できたら、とても便利なんですが、何か良い方法はないでしょうか? ★HTMLファイルでも呼び方 <script language="JavaScript" src="menu.js?menuno=4"></script> ★Javascriptファイル内での判定 if(document.menuno.value=="4"){ document.write("<a href='next/index.html'></a>"); } else { document.write("<a href='other/index.html'></a>"); }

  • SSIをJavascriptの変数に割り当てる方法

    はじめまして!JavaScriptで質問があります。 JavaScriptで質問があります。 以下のようなwindowを生成し、HTMLを出力するJavaScriptコードをJSファイルとして登録し、 <script type="text/javascript" src="..."></script> で参照しています。 JSファイル内の[[ここに改行コード]]はSSIファイルを読み込んでいます。 SSIファイルの内容は改行コード、"(ダブルクォーテーション)を含んでいます。 この場合win.document.write(に続く'(シングルクォーテーション)で囲った文字列が改行してしまうので、 JavaScriptエラーとなってしまいます。 このエラーを解決できる手段はないでしょうか。 ↓JSファイル ---------------------------------- function windowOpen() { var win; win = window.open(); win.document.write('<html><head><title>title</title></head><body>[[ここに改行コード]]</body></html>'); } ---------------------------------- function内で以下のようにコメントを出力し、windowOpenの関数のコードを読み取ることができれば、 windowOpenCommentStart~windowOpenCommentEndまでの文字を切り取り、変数に代入することができる のですが、関数のコードを取得することなんてできませんよね。。 ---------------------------------- function windowOpen() { /* windowOpenCommentStart [[ここに改行コード]] windowOpenCommentEnd */ var win; win = window.open(); win.document.write('<html><head><title>title</title></head><body>' + [[ここに改行コードを変数化]] + '</body></html>'); } ---------------------------------- JSファイル内に[[ここに改行コード]]を出力することが条件ですが、 どんな方法でもよいので実現する方法はないでしょうか。 環境:WindowsXP ブラウザ:IE6,FireFox2

  • <script type="text/javascript" src= について

    よろしくお願いします。JavaScriptは、ほとんど触ったことがなく、現在記述がわからず困って今sう。 htmlファイルの中から、外部ファイルに引数(referre)をつけて渡したく思います。で以下のようにやってみたのですが、 index.html <script type="text/javascript" src="http://hoge.com/info.php?ref=' + document.write(document.referrer) + '" charset="Shift-JIS"></script> info.php $ref = $_GET['ref']; echo document.write('$ref'); info.phpから返ってくる答えは「' document.write(document.referrer) ' 」です。 index.html内の JAVASCRIPT部分が間違っているに違いないのですが、どうやって記述すればよろしいでしょうか? よろしくお願いします。