• ベストアンサー

ジャバスクリプトの改行をなくしたい

CGIのデータの中にジャバスクリプトを記述したいのですが、その場合、改行は、\nとすればいいと思っていたのですが、どうしても、スクリプトエラーが出てしまいます。この方法で、いいのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

genkiganさんこんにちは。 私もPHP(サーバサイド)でJavaScriptを記述する場合に \nの改行を使ってHTMLソースの改行を行っています。 実際にどのように使われているのかが分からないので genkiganさんの方法でいいかどうかは分かりません。 クライアント側で表示されるHTMLのソースは genkiganさんが期待した通りのものとなっているでしょうか。 もし正しく改行されていなかったのならCGIでのバグだと思います。 正しく改行されていてエラーが出ているのでしたら JavaScriptにバグがあるのではないでしょうか。 また、スクリプトエラーとは具体的にどういったものでしょうか。 以下はPHPの場合にprint文でHTMLソースを書く例です。 CGI(Perlを使われているのでしょうか?)でも同じようになると思います。 ----------[サーバサイドの記述]------------------- print "<script type=\"javascrit\">\n"; print "<!--\n"; print " alert('アラート');\n"; print "//-->\n"; print "</script>\n"; ------------------------------------------------- ----------[生成されたHTML]----------------------- <script type="javascrit"> <!--  alert('アラート'); //--> </script> ------------------------------------------------- もしかすると以下のようにしておられるのかもしれません。 ----------[サーバサイドの記述]------------------- print '<script type="javascrit">\n'; print '<!--\n'; print ' alert("アラート");\n'; print '//-->\n'; print '</script>\n'; ------------------------------------------------- ----------[生成されたHTML]----------------------- <script type="javascrit">\n <!--\n  alert("アラート");\n //-->\n </script>\n ------------------------------------------------- この場合ですと「'」で囲まれた文字列は展開されません。 \nや\tといった特殊コードも展開されずにそのまま表示(HTMLのソース) されてしまいますので、javascriptのエラーとなります。

genkigan
質問者

お礼

回答、ありがとうございました。おかげさまでなんとかできました。

その他の回答 (1)

回答No.2

訂正です。すみません。 細かい話ですが^^; > <script type="javascrit"> <script type="text/javascrit"> です。

関連するQ&A