- ベストアンサー
マックのOSXあるいはIEの不具合?
最近、マックのOSをOSX10.3.2にアップデートして、それに付属のIE5.2.3を使っての不具合(?)です。 ホームページを作っていて、CGIからHTMLを書き出してページを表示させています。その中に、JAVAScriptを外部ファイルから取り込ませているのですが、それを読み込まないみたいなのです。 OS9.2.2、ウインのME、XPこれらのIEではちゃんと読み込みます。ちなみに、Safariも大丈夫でした。 あと、HTML内にJAVAScriptを書き込めば大丈夫みたいなのですが、それだと不便なのでどなたか対処法をご存じありませんか。それとも、OSXあるいはIEのせいなんでしょうか。 説明がヘタでわかりづらいかもしれませんが、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>読み込まれないと判断したのは他の環境(ウイン、マック双方のOS)のIEでは、意図したとおり動作しているからです。 単なる趣味レベルでしたら諦めるのもよいと思いますが、もう一段深く理解しておきたいのであればうまく動くプログラムを組む必要がある以上、なぜうまく動作しないのか問題を整理して考え、それに対処しなくてはいけません。特に仕事でやっているとIEで動くがNNでは動かないなどブラウザの違いによる異なる結果というのは問題になりますが、ブラウザの違いを理由にするのは笑い話にしかなりません。 >当方のプロバイダーはCGIはCGI用のディレクトリに置くのですが、jakartaさんが書かれているように直にそこに置けば読み込んでくれるのですが、その中にディレクトリを作った中に置いたものは、読み出してくれません。 http.confの設定でcgi-binの中のファイルは実行ファイル以外読み込まないようにしていることが少なくありませんので、そこにJavaScriptのファイルを置くために403エラー(Forbidden)が返されることが予想されるのですが、読み込まれないと判断しているのは結果に対するあなたの主観的な判断であって、403エラーとかCGIからブラウザに返されたHTMLソースの結果など具体的で真理的な内容でないと回答側は正確な回答ができません。 そこでソース例ではサーバルートからの/test.jsでパスを指定しました。普通はこれで対処できるはずです。 print "<script language=\"javascript\" src=\"/test.js\"></script>\n"; 他にCGIからHTMLを書き出す際にCGIの方でJavaScriptを前もってPerlの関数によって読み込ませておくとか、読み込み出来なかったときの例外処理を行っておくなどの方法も考えられます。
その他の回答 (2)
- jakarta
- ベストアンサー率38% (607/1597)
質問にあるようなものを作成し MacOSX10.2.8、IE5.2.2・IE5.2.3、Safari、MacOS9.2.2のIE5.1 でテストしましたが問題なく実行できました。 単純に読み込まないのかエラーがでるのかわかりかねますが、まずWebサーバの環境と設定、各ファイルのパーミッションの設定、JavaScriptおよびPerlでの記述に問題がないか確かめることが必要です。 cgi-bin以下にCGI以外のファイルを置けない場合のPerlスクリブトの例をあげておきます。 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>Perlテスト</TITLE>\n"; print "<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"/style.css\">\n"; print "<script language=\"javascript\" src=\"/test.js\"></script>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "Hello<BR>\n"; print "</BODY>\n"; print "</HTML>\n";
補足
回答ありがとうございました。 あきらめ気味で質問したので、肝心な(?)情報が抜けていました。 当方のプロバイダーはCGIはCGI用のディレクトリに置くのですが、jakartaさんが書かれているように直にそこに置けば読み込んでくれるのですが、その中にディレクトリを作った中に置いたものは、読み出してくれません。 で、読み込まれないと判断したのは他の環境(ウイン、マック双方のOS)のIEでは、意図したとおり動作しているからです。 また、なにかありましたらよろしくお願いします。
- asuca
- ベストアンサー率47% (11786/24626)
OS X能勢ではなくマック用のIEの作り方に問題があるのが原因です。 今のところマイクロソフトが改善しない限り直らないと思いますがマック用のIEは開発を集力してしまったのでどうにもならないです。 ほかのブラウザを使うしかないです。
お礼
回答ありがとうございます。 当方、OSXを使い始めたばかりで、少々とまどっております。
お礼
たびたびありがとうございます。