• ベストアンサー

javaで取得可能な環境変数の値(モニタ解像度)をcgiの変数に代入するには?

cgiをperlで作成しています。 クライアントの画面解像度がjavaで取得出来ることを知りました。 そこでその解像度情報をcgiの中で利用したいのですが、javaの変数の値をcgiの変数へ代入する方法がわかりません。 お分かりになる方是非ご教授下さい。 よろしくお願い致します。 追記1 画面の解像度をcgiで利用したいので、代わりの方法があればそちらもよろしくお願い致します。 追記2 cgiカテゴリでも同様の質問をしていますが、そちらは削除予定です。

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

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

JavaではなくJavaScriptのことですよね。 JavaScriptのカテゴリーにあるのでそう解釈します。 JavaとJavaScriptは名前は似ていますが全くの別物ですので注意して下さい。 JavaScritp側は var Dwidth = screen.width; var Dheight = screen.height; document.write("<img src='foo.cgi?dwidth=" + Dwidth + "&dheight=" + Dheight + "' width='1' height='1'>"); としてやり cgi側は #!/usr/local/bin/perl use CGI qw(:standard); # JavaScriptから値を受け取る $Dwidth = param('dwidth'); $Dheight = param('dheight'); # 空画像表示 @array = ("47","49","46","38","39","61","01","00","01","00","80","00", "00","ff","ff","ff","00","00","00","21","f9","04","01","00", "00","00","00","2c","00","00","00","00","01","00","01","00", "40","02","02","44","01","00","3b"); print "Content-type: image/gif\n\n"; for (@array) { $data = pack('C*',hex($_)); print $data; } これでJavaScriptで受け取った変数をCGI側で使えます。 この場合は $Dwidth と$ Dheight に入ります。

arvent
質問者

お礼

ありがとうございました。大変分かりやすかったです。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

javascriptのことなら、 formの中のフィールドにセットしてsubmitすればいいのでは、 あるいは、 location.href="xxx.cgi?x="+screen.width+"&y="+screen.height とかするとか 勘違いしてたらすみません。

arvent
質問者

お礼

ありがとうございました。大変分かりやすかったです。

関連するQ&A

専門家に質問してみよう