- ベストアンサー
プラグインを切っていた場合
一部だけFLASHを使用したサイトを作ろうと思います。 その際、閲覧者の方がプラグインを切っていた場合、「プラグインをダウンロードしてください」のようなメッセージを表示させたいと思うのですが、どうやって表示させれば良いのでしょうか? 出来ればJavaScriptは使わないようにしたいのですが…。 どなたかご教示いただけたら幸いです。 追記:また意味が分からなければ補足させていただきます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ご質問 = プラグインがない場合 + JavaScriptを使わない方法 と言うことですか。 JavaScriptを使わない方法を取られるのは正解!だと思います。 FlashPlayerは入れていてもJavaScriptは無効にしている人が多いですからね。 でも,Flashプラグインがない場合と言うことはActionAcriptも使えないということですね。 結構困った…。 思いつく方法は1つしかありません。 「プラグインをダウンロードしてください」のようなメッセージを書いたページをTOPページ(index.html)にしてください。 bodyタグのすぐ下あたりに,Flashの1フレームのフレームアクションとして getURL("○○.html"); とだけ書いた,10×10ピクセルくらいの背景色と同じ色のFlashを貼り付けてください。 ○○.html は本編のページです。 Flashプラグインが入っていなければ,当然のごとくgetURL("○○.html");が効かないので,「プラグインをダウンロードしてください」ページに残ります。 Flashプラグインが入っていれば,getURL("○○.html");が効くので,○○.html にジャンプします。 Flashプラグインが入っている場合もちらっと一瞬「プラグインをダウンロードしてください」ページが見えてしまうと思います。だからこのページはなるべく軽くして,Flashを貼り付けるタグはなるべく上の方に書いてください。 検索エンジンもFlashのgetURLは効かないため,先のページはないものとして扱われてしまいます。 もし検索に引っかかりたい場合は,普通のリンクも○○.htmlにかけておいてください。 あまり良い方法とは言えませんが,なんとかできることはできます。 ~~余談1~~ FlashMX2004では,パブリッシュの設定で「Flashのバージョンを検出」というのがあります。 FlashMXまではJavaScriptを使用していましたが,MX2004ではJavaScriptは使わないと思います。 (このしくみをイマイチ把握しておりませんが。) 「ファイル」→「パブリッシュの設定」で「HTML」タブを選択し,「テンプレート」の下にある,「Flashのバージョンを検出」にチェックを入れると,設定から色々設定出来ます。 これに関してはネット上に良い情報がほとんどありません。 詳細は,MX2004のヘルプ, 「パブリッシュ設定を指定して埋め込み Flash コンテンツを持つ HTML ドキュメントを作成」 や「Flash Player 検出のパブリッシュ設定の構成」を参考にしてみてください。 簡単に言うと,指定したFlashPlayerを持っていなかった場合代替ページを参照するのですが, でも,これは検出用のSWFで先に検出しておいて,条件によって,代替ページに行くか,本ページに行くかと言うようなものだと思います。 だからFlashを使うのでダメですね……・・・ ~~余談2~~ 最初,ぱっと見て,ActionScriptでそれをされたいのかと思い,スクリプトを考えていました。 1フレーム目のフレームアクションとして, ----------------------------------- AllVer = getVersion(); FlaVer = AllVer.substr(4,1); if (FlaVer < 7) { getURL("http://oshiete.goo.ne.jp/"); } ----------------------------------- と書いておくと,FlashPlayerのバージョンが7未満(6以下)のときは,「教えて!goo」に飛んでいくというスクリプトになります。 //変数AllVerにバージョンをgetする。 //ここで,AllVerに「WIN 7,0,19,0」のような値が入ります。 AllVer = getVersion(); //変数FlaVerにAllVerの値の4文字目を代入 FlaVer = AllVer.substr(4,1); //もしFlaVerが 7未満であれば,なぜか「教えて!goo」に飛ぶ if (FlaVer < 7) { getURL("http://oshiete.goo.ne.jp/"); } というものです。 でもこれはFlashPlayerのバージョンが,特殊な4以上(普通は5以上)でないと動作しないため, 質問されているように,プラグインが全く入っていない場合には使えません。 何か別のときの参考にしてみてください。
お礼
検索サイト、その他の事まで詳しく教えていただき、有難うございます。 まだFLASH初心者の私にはわからないことばかりで投げ出そうかな、とも思ったのですが、sassakunさんのお陰でまたやる気が出てきました(笑) 早速試してみます。 ご返答有難うございました。