CGIプログラムはまったくの初心者です。
perlでCGIプログラムを組んで、HTMLを書き出すときに
Java Scriptもいっしょに書き出すことはできますか?
print "Content-type: text/html\n\n";
print "<html><head><title>$title</title>\n";
---この間に入れたいのですが・・・---
print "</head>\n";
print "<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 bgcolor=$bg_color text=$text_color link=$link_color vlink=$vlink_color background=$bg_gif>\n";
Java Scriptの menu_0.addMenuItem("ショップ案内","location='shop.html'"); 等を入れるときに
「"」や「;」はどういう風に表現すればうまくいくのでしょうか。
Java Script以外のタグの中の<font size="2">などは「"」をとれば
大丈夫なのは知っていますが、Java Scriptで「"」や「;」をとってしまうと
動作しなくなりました。
No.1ベストアンサー
- 回答日時:
大体ながながとHTMLやJavaScriptを記述するときには、『ヒアドキュメント』という機能を使うと話しが簡単だと思います。
print << "THE_JAVASCRIPT" ← ここは適当に名前をつけます。
<script language="javascript"><!--
ここは、かきたいようにjavascript書けば良いです。
$titleなどの変数はちゃんと展開されます。
//--></script>
THE_JAVASCRIPT ← ここはコロンをつけてちゃダメ♪
Perlの書籍やインターネットなどで、『ヒアドキュメント』を調べましょう!
No.4
- 回答日時:
通常はkokucho81さんの言う通り、ヒアドキュメントを使うことをおすすめします。
またヒアドキュメントは行数がかさむので、1行のprint文内で処理したい場合は、makihiroさんのように「\」を直前につけて「"」をエスケープする(単なる文字として認識させる)ようにします。
ただこの方法は文字列が見にくくなる為、ミスの元になることが多いので、qqを使って
print qq{<BODY onLoad="OnLoad()">};
などのようにした方がよいでしょう。
(qqの区切り文字は{}でなくてもよいのですが、HTMLやJavaScriptでは絶対使わない文字を指定するようにすると、バグ予防になります。)
それからHTMLタグ内でも、"は省略しない方がいいですよ。value値がスペース交じりの文字列の場合や、値に指定した変数がヌルだった場合などに、予期しない動作をすることがあります。
遅くなりましたがありがとうございました。
print qq{<BODY onLoad="OnLoad()">}; ・・・なんて方法もあるんですね。
いろいろと参考にさせていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pythonでターミナルに文字を出...
-
パイソンのクラスについて
-
16進の10進変換について
-
UWSCのSELECT文の記述方法
-
【至急!!!】python言語で本を見...
-
シェルスクリプトで、空白(ス...
-
Tiny Basicのプログラムでもう...
-
チェックボックスのCGIへの値の...
-
m//gとm//gcの違い
-
javaのパッケージ構成で各パッ...
-
perl言語について
-
数値英単語変換
-
Perlの例文でif($a==1&&$b==5&&...
-
I2C接続のLCDディスプレイを使う
-
PythonでUTF8の文字列をリスト...
-
CLispのloop内の挙動について
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
どちのほうがすきですか?
-
パイソンのクラスのブログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
Pythonでターミナルに文字を出...
-
シェルスクリプトで、空白(ス...
-
【至急!!!】python言語で本を見...
-
pythonで演算子を変数に代入す...
-
c言語 16進数の2進数への変換
-
パイソンのクラスについて
-
I2C接続のLCDディスプレイを使う
-
関数「exists」と「defined」の...
-
pythonの*
-
変数の中は文字列か数値か調べ...
-
数値かどうかの判定方法
-
python print文のエラー
-
int(input("○○"))の使い方
-
Perlの例文でif($a==1&&$b==5&&...
-
awkの正規表現での最左最短マッ...
-
Use of uninitialized value ---
-
CGIでimgタグでalignを使うとエ...
-
swift 文字コードから文字に変...
-
javaのパッケージ構成で各パッ...
おすすめ情報