ブラウザでFlashが表示されない問題の解決方法

このQ&Aのポイント
  • ブラウザでFlashが表示されない問題について、解決方法を探しています。
  • Mac上のIE5.1やNC4.7、Win2k上のIE6でFlashが正しく表示されない問題が発生しています。
  • 相対パスや絶対パスの設定や、ファイルの存在確認などを試してみましたが、解決できません。
回答を見る
  • ベストアンサー

ブラウザによってFlashが表示されません

swfのURLを出来るだけ隠したく、http://oshiete1.goo.ne.jp/kotaeru.php3?q=1208273を参考に書いたのですが、 $file = "../tekito.swf"; if (-e $file) { print "Content-Type : application/x-shockwave-flash\n\n"; open IN,$file; binmode(IN); binmode(STDOUT); while(<IN>) {print} ; close IN; } else { print "Content-type: text/html\n\n"; print "no file"; } $fileが相対パスだとMac上のIE5.1ではflashが表示されるのですが、NC4.7ではバイナリ表示です。Win2k上のIE6では、「ダウンロードファイル」が表示され、開くでは実行されず真っ白な画面のまま、保存を選ぶと、○.cgiが保存されますが、中身は、実際のコードと違いバイナリのようです。 また、Mac上のIE5.1でもWin2k上のIE6でも、$fileのURLを絶対パスにすると、「no file」と表示されます。if (-e $file)関連を外すと、Mac上のIE5.1の場合、エラーも何も表示されず、ブラウザは真っ白になります。Win2kのIE6では、上記と同じく、「ダウンロードファイル」が表示されます。 Mac上のIE5.1、NC4.7、Win2k上のIE6共に、絶対パスのURLをブラウザに打つと、swfファイルが表示されるので、URLは存在しているはずですが。 作成環境はMac OS 9.2でローカルサーバはFreeBSDにApacheです。 CGI&Perlコーナーや上記参考例の回答者様の他の回答欄もざっと見たのですが、解決方法をみつけらず困っています。

  • CGI
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

>$fileのURLを絶対パスにすると と書かれていますがURLはだめでしょう ファイルの絶対パスなら /home/user/public_html/tekito.swf のように先頭が"/"から始まるものですが混同されてませんか

nononeko
質問者

お礼

php504さま、お返事遅くなりましたが、ありがとうございます。ご指摘の通り恥ずかしながら、絶対パスとURLを混同しておりました。おかげさまで絶対パス指定でも、win2kのIE6・Mac OS 9.2のIE5.1共に"no file"とは出なくなり、Mac OS 9.2のIEでは、問題はなくなりました。(NC4.7は未だにバイナリ表示ですが、これはJavaScriptなど他の問題もあるので、見切ることになると思います。(^^;)) ただ依然、win2kのIE6では、ブラウザが真っ白なままで、Flashを表示してくれません。Mac OS X (10.3.9)でも試したところ、IE5.2ではwin2kと同じようにブラウザが真っ白に、Safari1.3.1ではバイナリが表示されてしまいました。Mac OS 9.2にもN7.02を入れてみたのですが、こちらはずっと読み込み中で、強制終了させる以外、ありませんでした。プラグインの問題かとも思い、swfファイルをそのままブラウザに読み込ませて見た所、Safari1.3.1・N7.02では、自作・他作共に動いたのですが … 。どうしたら、表示させられるようになるのでしょうか。 php504さまや他の皆さま、もう少しお手伝い頂ければ、幸いです。よろしくお願いします。

nononeko
質問者

補足

質問者より最後の書き込みです。 自己レスになりますが、解決しましたので、ご報告します。 ヘッダ部分のコロン(:)後の空白が不要だったようです。 ありがとうございました。

関連するQ&A

  • FLASHでメニューの表示について

    swfファイルに直接アクセスすると パブリッシュ設定→HTMLタグ→メニュー表示 のチェックを外していますがメニューが表示されます。 ムービー中にCGIの送受信などがあるのでどうしても 先送りなどされるとこまります。 また、このときにタイトル(ブラウザIE)がswfファイルのフルパスが表示されます。こいつも変更したいのですが…。 なにか解決策はないでしょうか?宜しくお願い致します。

  • バイナリファイルの出力

    「test.dat」というファイルをブラウザから ダウロードさせるためにバイナリ出力をしたいのですが、 空ファイルばかりできて上手くいきません。 以下のようなコードなのですが、どこが悪いでしょうか? ご教授ください。お願いします。 症状:ブラウザからダウンロードすると、ファイル名は正しいが 空のファイルになっている 環境:perl 5.8.7 windows server2003 ----------------------------------------------------------- #!/usr/local/bin/perl print "Content-Disposition: attachment; filename=\"test.dat\"\n"; print "Content-Type: application/octet-stream\n\n"; open(IN, "test.dat"); binmode(IN); binmode(STDOUT); print while (<IN>); close(IN); -----------------------------------------------------------

    • ベストアンサー
    • Perl
  • cgiで表示するhtmlページ内でバイナリ画像を出力したい

    cgiで表示するhtmlページ内でバイナリ画像を出力したい 「CGI 画像出力」でググったページで下記のコードがありました。 下記コードは、 Content-typeをimage/gif等にして バイナリを print すれば表示される という書き方になっていると思いますが、 content-typeがtext/html のページ内でバイナリをprintした場合 バイナリが文字列としてグシャァァァと表示されてしまいます。 ------- $view = 'aaa.jpg'; print "Content-type: image/jpeg\n\n"; #コンテンツタイプを指定する open IMGG,"$view"; #ファイルハンドル IMGGに画像ファイルを読み込む binmode (IMGG); #画像なのでバイナリモードに設定する print <IMGG>; #ファイルハンドルを画面に書き出す close (IMGG); #ファイルハンドルを閉じる exit; ------- content-typeがtext/htmlの状態でバイナリの画像を表示するには どうすればよいのでしょうか? cgiを2つ用意して、上記のコードを img src=~~.cgi という形で 呼び出すしかないのでしょうか?

    • ベストアンサー
    • Perl
  • CGIでFLASHを表示する

    CGIで他のFLASHファイルの内容をそのまま表示するにはどうすればいいのでしょうか。 Content-typeをapplication/x-shockwave-flashにすればいいようだったので、以下のようにしたのですが白紙のFLASHが表示されるだけで何も起こりません。 3~5行目の外部ファイルの取得方法が間違ってると思うのですが、なにとぞご教授よろしくお願いします。 #!/usr/bin/perl print "Content-type:application/x-shockwave-flash\n\n"; open(E,"_mj.swf"); print <E>; close(E); exit;

    • ベストアンサー
    • Perl
  • 文字列の抽出

    指定したファイルの中から'<'と'>'とで囲まれた部分文字列を抽出したいのですが方法がわかりません。どのようにしたらできるでしょうか? *ファイルは制御コードが混じっているのでバイナリとして扱わないといけないかもしれません。 よろしくお願い致します。 ------------------------------------------------- open(IN, "test.dat"); open(OUT, "> out.txt"); binmode(IN); while (<IN>) { /^<(\w+)>$/; print OUT "$1\n"; } close(IN); close(OUT);

    • ベストアンサー
    • Perl
  • 画像がテキスト表示になる。

    open(IN,"../../image/$val2/upinfo"); while(<IN>){ ($blank,$blank,$blank,$blank,$blank,$type) = split(/<>/); } close(IN); $imgsize = (stat("../../image/$val2/indeximage"))[7]; print "Contnet-type: $type\nContent-Length: $imgsize\n\n"; open(IN,"../../image/$val2/indeximage"); binmode(IN); print <IN>; close(IN); ----------------- このようなスクリプトを作ったのですが、Ieで開くと画像表示してくれますが、Safariなどで開くと文字列が表示されてしまいます。 サーバーはMac OS X Snow Leopardで、Apache1.3を自分で入れたものを使用しています。 よろしくお願いします。

  • JPEGの表示(MacからWin)で困っています。

    じつは、JPEGファイルがどうしても表示できず困っています。 Mac作成のデータをCDでいただいたものなのですが OS10.3からWin2000を経由しますと表示できなくなってしまいます。 Win側でMacバイナリをカットするソフトを使用したのですが Macバイナリはありません、と出ます。 原因は一体何なのでしょうか・・・。

    • ベストアンサー
    • Mac
  • はじめまして

    はじめまして 現在、PerlのMVCフレームワークCatalystのperlソースコード内で ボタンを押すと、ユーザーにとあるファイルをダウンロードさせたい と考え、以下のように実装しました my $filedir = '/var/www/html/Catal/lib/Catal/Controller/'; my $filename = 'test.zip'; my $filepath = $filedir . $filename; print "Content-type:application/download; name=\"$filename\"\n"; print "Content-Disposition: attachment; filename=\"hogehoge\"\n\n"; open(FILE,"< $filepath"); binmode FILE; binmode STDOUT; print while(<FILE>); close(FILE); 上記コードを動かすとIEのページにZIPファイルがバイナリ表示されるだけで ダウンロードダイアログすら出ません。 どうしたら、ダイアログを表示させ、ユーザーが望む場所にダウンロード させることができるでしょうか。 よろしくお願いします。

  • FLASHが表示されない。

    自作したFLASHの.swfファイルをアップロードして、 ホームページにURLとFLASH表示タグを貼り付けても、 ページにFLASHが表示されません。 「FLASH」と書いてある四角いものが出ます。 どうすれば、表示させることができますか?

  • perlで画像表示

    htmlファイルから<img src="./aa.cgi">と書いて連続した画像を表示させたいのですが @aa =(1,2,3); foreach(@aa){ open(IMG, "./$_.gif"); binmode(IMG); binmode(STDOUT); print "Content-type: image/gif\n\n"; read(IMG, $img, 1024); print $img; close(IMG); } こう書いたらだめなのでしょうか?

    • ベストアンサー
    • Perl

専門家に質問してみよう