- ベストアンサー
ジャバスクリプトの改行をなくしたい
CGIのデータの中にジャバスクリプトを記述したいのですが、その場合、改行は、\nとすればいいと思っていたのですが、どうしても、スクリプトエラーが出てしまいます。この方法で、いいのでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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のエラーとなります。
その他の回答 (1)
- papillon68
- ベストアンサー率61% (42/68)
訂正です。すみません。 細かい話ですが^^; > <script type="javascrit"> <script type="text/javascrit"> です。
お礼
回答、ありがとうございました。おかげさまでなんとかできました。