• ベストアンサー
  • 暇なときにでも

マックのOSXあるいはIEの不具合?

  • 質問No.737764
  • 閲覧数86
  • ありがとう数2
  • 回答数3

お礼率 90% (10/11)

最近、マックのOSをOSX10.3.2にアップデートして、それに付属のIE5.2.3を使っての不具合(?)です。
ホームページを作っていて、CGIからHTMLを書き出してページを表示させています。その中に、JAVAScriptを外部ファイルから取り込ませているのですが、それを読み込まないみたいなのです。
OS9.2.2、ウインのME、XPこれらのIEではちゃんと読み込みます。ちなみに、Safariも大丈夫でした。
あと、HTML内にJAVAScriptを書き込めば大丈夫みたいなのですが、それだと不便なのでどなたか対処法をご存じありませんか。それとも、OSXあるいはIEのせいなんでしょうか。
説明がヘタでわかりづらいかもしれませんが、よろしくお願いします。

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

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

ベストアンサー率 38% (607/1597)

>読み込まれないと判断したのは他の環境(ウイン、マック双方の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の関数によって読み込ませておくとか、読み込み出来なかったときの例外処理を行っておくなどの方法も考えられます。
お礼コメント
dtp_tips

お礼率 90% (10/11)

たびたびありがとうございます。
投稿日時:2003/12/26 20:52

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 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";
補足コメント
dtp_tips

お礼率 90% (10/11)

回答ありがとうございました。
あきらめ気味で質問したので、肝心な(?)情報が抜けていました。

当方のプロバイダーはCGIはCGI用のディレクトリに置くのですが、jakartaさんが書かれているように直にそこに置けば読み込んでくれるのですが、その中にディレクトリを作った中に置いたものは、読み出してくれません。

で、読み込まれないと判断したのは他の環境(ウイン、マック双方のOS)のIEでは、意図したとおり動作しているからです。

また、なにかありましたらよろしくお願いします。
投稿日時:2003/12/25 19:29
  • 回答No.1

ベストアンサー率 47% (11786/24626)

OS X能勢ではなくマック用のIEの作り方に問題があるのが原因です。
今のところマイクロソフトが改善しない限り直らないと思いますがマック用のIEは開発を集力してしまったのでどうにもならないです。
ほかのブラウザを使うしかないです。
お礼コメント
dtp_tips

お礼率 90% (10/11)

回答ありがとうございます。
当方、OSXを使い始めたばかりで、少々とまどっております。
投稿日時:2003/12/25 19:29
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ