- ベストアンサー
CGI.pmでHTMLのコメントタグを出力する関数はありますか?
CGI.pmでHTMLのコメントタグを出力する関数はありますか? 例えば次のような文字列を出力する関数はありますか。 <!--- document.write("abc".bold()) //---> 阿呆みたいな質問ですみません m(__)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> ジャバスクリプトのメソッドは自分で書かないとダメなのでしょうか。 たぶん CGI.pm ではできません。 また、CGI.pm で javascriptを指定したいのなら、start_html で直接指定するのがよいでしょう。 use strict; use warnings; use CGI; use CGI::Carp qw(fatalsToBrowser); use CGI::Pretty; my $new_window_url = 'http://www.google.co.jp'; my $java_script = << "END_SCRIPT"; function open_new_window() { window.open('$new_window_url', 'New Window', 'width=300, height=300'); } END_SCRIPT my $q = CGI->new(); print $q->header( -charset => 'UTF-8' ), $q->start_html( -lang => 'ja', -script => { -language => 'javascript', -code => $java_script } ), $q->button( -name => 'Open New Window', -onclick => 'open_new_window()' ), $q->br, $q->a( { -href => $new_window_url, -onclick => 'javascript:open_new_window();return false' }, 'Open New Window' ), $q->end_html; javascriptを別ファイルにする場合は、 { -language => 'javascript', -src => './test.js' } とします。
その他の回答 (1)
- _--_1l1_1_
- ベストアンサー率67% (102/152)
comment()
お礼
ご回答ありがとうございます。 comment関数を使ってコメントタグが出せました!! CGI.pmのcomment関数を使う場合、 <!--のあとにスペースが強制挿入され、 質問のような文字列(ハイフンを3個連続させる)は出せず、 <!-- -のようになってしまいました。 あと、 一難去ってまた一難なのですが、 ジャバスクリプトのメソッドは自分で書かないとダメなのでしょうか。 これについても教えてください。 できれば、CGI.pmの関数で統一したいのです。
お礼
こんにちは。 再返信ありがとうございます! やっぱりJavaScriptは自分で書くしかないですね。 JavaScriptをstart_htmlで指定したほうが良いのは何か理由があるのでしょうか。 XHTMLでは<script>内のコメントは全部無視される仕様になっているのを、ついさっき知りましたが、 これは決定打に欠けるかな。