SWF読み込みがうまくいかない際に代替表示をしたい

このQ&Aのポイント
  • 現在管理をしているサイトで、ライントピックスのサービスを利用して新着情報を表示していますが、読み込みが出来なかった場合に代替画像を表示したいです。
  • javascriptを使用して、外部swfファイルの読み込みができない場合に代替画像を表示する方法を検討しています。
  • レイヤーを使用して読み込みが成功した場合に非表示にする方法ではなく、読み込みが失敗した場合に代替画像を表示したいです。
回答を見る
  • ベストアンサー

SWF読み込みがうまくいかない際に代替表示をしたい

現在管理をしているサイトで、ライントピックスのサービス http://linetopics.d-a.co.jp/ を利用して新着情報を表示しているのですが、 たまに読み込むことが出来ずに背景色のみ表示されてしまいます。 そこで、外部swfファイルの読み込みが出来なかった際に 代替画像を表示をしたいと考えているのですが、 javascriptを用いてこういった事は可能でしょうか? イメージとして 読込成功時→そのままswfを表示。 読込失敗時→代替画像の表示。 ちなみにレイヤーを用いて読み込みが出来た際に非表示にするような方法は クライアントからやめて欲しいということで今回は考えておりません。 どうぞ宜しくお願い致します。

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

  • ベストアンサー
  • ESate
  • ベストアンサー率64% (11/17)
回答No.1

onerrorという便利なイベントハンドラがありまして 何らかのエラーが発生したら呼ばれるというものです 読み込み失敗時にも呼び出されるので可能といえます

sonic-team
質問者

お礼

早速のご回答ありがとうございます。 onerrorというのが存在していたんですね。 これから試してみようと思います。 非常に勉強になりました!

関連するQ&A

  • 代替表示の出し方

    swfを設置する際の質問です。 ・フラッシュプレイヤーが入っていない場合に代替の表示を出す ・javascriptがオフになっていても、フラッシュプレイヤーが入っていればswfを再生 上記を実現させたいのですが、方法を教えていただけませんか? SWFObject v2.0を使ってやってみたのですが、 http://mtl.recruit.co.jp/blog/2007/10/swfobject_v20.html ここの説明にある1の方法だと、『クリックするとこのコントロールをアクティブにして使用します』が出てしまうようで、ユーザビリティ的には逆効果な気がします。 2の方法を取ると、javascriptがオフの場合、フラッシュプレイヤーが入っていない場合共に同じ代替の表示になってしまいます。 直接htmlにswf呼び出しの記述を書けばjavascriptがオフの時でも再生できますが、 フラッシュプレイヤーをオフにした場合、『ここをクリックするとプラグインをダウンロードできます』という部分の下に代替が出るという何とも不格好な事になってしまいます。 sonyのトップページのような感じが理想なのですが… 何かいい案はないものでしょうか?

  • フラッシュと外部swf

    swf内でswfを読み込んだときレイヤーのように上に重なるのでしょうか? あるいは上に重なってもとのswfは見えなくなるのでしょうか? 外部swf読み込みについて詳しい方がいらっしゃいましたらよろしくお願いします。

  • loadMovieのswf読み込み時の一瞬

    制作環境  windows vista flash CS3 Professional ------------------------- flash初心者です。 loadMovieで外部swfを読み込む前に一瞬_rootの画像が表示されてしまうことで困っています。 作業としては、 top.swfにメニューをつけ、リンクを貼って loadMovieでswfを切り替えています。 以下3つは読み込む外部ファイルです。 ・about.swf ・catalog.swf ・service.swf top.swfに配置したメニューボタン(about、catalog、service)に下記の記述をし、 ■aboutボタン on (release) { _root.moviearea.loadMovie("about.swf"); } ■catalogボタン on (release) { _root.moviearea.loadMovie("catalog.swf"); } ■serviceボタン on (release) { _root.moviearea.loadMovie("service.swf"); } ボタンを押すと_rootにそれぞれちゃんと読み込まれるまではいきました。ですがその際、例えばabout.swfが読み込まれた後に他のボタンを押して別のswfファイルを読み込む一瞬、_rootに配置してある画像がちらっと表示されてしまいます。 色々調べて外部swfファイルの背景の問題かもしれないと思い、ドキュメントサイズと同じサイズの背景色で塗りつぶしたムービークリップを配置するなどしてみましたが、やはり一瞬ですが_rootの画像が見えてしまいました。 外部ファイルから外部ファイルへスムーズに切り替えができるようにするにはどのようにしたらよいのでしょうか。 どなたかお力をお貸しくださいませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部swfの読込について

    1枚のFlashに二つの外部swfを読み込む方法を教えて下さい。 今参考書を見ながらやってみたのですが外部ファイルが読み込まれていないようで 書き出したswfファイルには何も表示されません。 試した方法ですが・・・ 外部swfファイル読込用ムービークリップを作成、 オブジェクトアクションを挿入 --------------------------------- onClipEvent (load) { function Load (file) {  this.loadMovie (file);   } } --------------------------------- フレームを作成し下記アクション挿入 --------------------------------- contents_mc.Load("about.swf") --------------------------------- 使用ソフトはFlash5です。 どうぞ宜しくお願いします。

    • ベストアンサー
    • Flash
  • FLASH CS4での外部SWFファイルの読み込みについて質問です。困

    FLASH CS4での外部SWFファイルの読み込みについて質問です。困っています。 AS3.0の初心者です。FLASH8(AS2.0)は使っていたのですが、AS3.0についてはほとんど知りません。FLASH8と同じ要領でボタンと透明ムービークリップを作成し、ボタンをクリックするとMCに外部SWFファイルが読み込まれる・・・という設定をしました。 ネットなどで色々調べた結果、SWFファイルの読み込みASは記入できたのですが、問題が一つ。 ボタンのレイヤーがMCのレイヤー下にあると、透明であるMCが邪魔になるのかボタンがクリックできません。ボタンのレイヤーを上に持ってくると、SWFは読み込まれるのですが元のSWFのボタンがそのまま表示されてしまいます。 FLASH8では透明MCが上にあってもボタンをクリックできた記憶があります。透明MCは元のSWF,外部SWFと同じサイズ(全て800x600px)にしてあります。 AS3.0ではどのようにすればいいのかわかりません。 どなたか初心者の私に教えていただけませんか。よろしくお願いします。

  • 外部swfが表示されません

    FLASH初心者です。 いろいろと調べながら、外部swfを取り込んだswfの作成にチャレンジしています。 今連続する外部swf(子swf)を a.swf b.swf c.swf として作成し、それらを表示させるための親swfを下記のように作成しているのですが表示されません。 親swf作成の作業としては 1.a.swfを外部から取り込んで表示させるためにムービークリップを作成 『挿入』⇒『新規シンボル』⇒『新規シンボルの作成』で名前:mc1 タイプ:ムービークリップとしてシンボルを作成。 2.b.swf、c.swfにもムービークリップを作成 1.同様にし、 b.swfのシンボル名を“mc2”、インスタンス名を“mc2” c.swfのシンボル名を“mc3”、インスタンス名を“mc3” 3.シンボル“mc1”の1フレーズ目に loadMovie("a.swf","mc1"); とアクションスクリプトを入力。 4.シンボル“mc2”、シンボル“mc3”も同様にしてそれぞれ loadMovie("b.swf","mc1"); loadMovie("b.swf","mc3"); と入力。 5.ステージ上に新規レイヤー“MC1”・“MC2”・“MC3”を作成。 6.“MC1”レイヤーをタイムライン上の1フレーズ目で『キーフレーム』に変更し、ライブラリから“mc1”をステージ上へドラッグして配置。 7.レイヤー“MC2”・レイヤー“MC3をそれぞれ12フレーズ目、24フレーズ目で同様にキーフレームを作成して“mc2”・“mc3”を配置。 子swf単体では表示されるのですが、上記の親swfはムービープレビューしても何も表示されません。 どのようにすれば子swfが親swfで表示されるようになるのでしょうか。 ちなみに子swfファイル・親swfファイルは全て同じフォルダ内にあります。 環境 OS:WindowsXP アプリケーション:FLASHI MX 7.2 よろしくお願いします。

  • 外部swfの大きさが違う場合

    こんばんは。 いつも参考にさせていただいています。 ActionScriptの奥深さに、毛が抜けそうな日々を過ごしております… 困っているのは、外部swfの読み込みについてですが、(元swfから外部swfを読み込ませる行為自体は成功しています。) 外部swf数個あるうちの1つだけがやたら大きい(heightのみ)場合、それを表示させるエリアをサイズに合わせて伸縮させることは可能なんでしょうか? 単純に考えれば、元swfの読み込みエリアを、一番大きなものに合わせて作っておけばいいのでしょうけれど、他のswfがあまりにも小さく、HTMLにはめ込んでみたとき、ページ余白が大きくなってしまうのを回避できないかなぁと考えた次第です。 どうぞご教授お願いします。 他の方法で回避できるのなら、それも試してみたいと思っています。 FlashMXprofessional2004(win)を使用しています。 (重複質問でしたら、申し訳ありません)

    • ベストアンサー
    • Flash
  • 外部SWFを読み込むと子SWFの一部分しか表示されません!

    パソコンはwindows XPでFlashCS3を使っている初心者です。 現在、下記のような方法で外部SWFを読み込もうとしているのですが、 読み込み自体は成功するものの、読み込まれたSWFファイルが 最大サイズまで拡大されており、キチンと表示されません。 --外部SWFの読み込み方法-- 1 親SWFの_rootに、「Load_mc」というインスタンス名で、   横350px×縦200pxのサイズのムービークリップを作ります 2 親SWFのフレームのスプリクトに _root.Load_mc.loadMovie("movie1.swf"); と入力します 3 新たに「movie1.swf」という子SWFファイルを作成し、   ドキュメントのサイズを横350px×縦200pxに設定。   10フレームごとに3枚、横350px×縦200pxのjpeg画像を設定します 4 それぞれのファイルを改めてパブリッシュ。   するとなぜか親SWFで子SWFは読み込まれ、ムービーも正常に動いているものの、 子SWFがウインドウサイズを最大まで引き延ばしたかのような画質で表示され、   且つ、「Load_mc」の大きさで表示できる左上の一部分しか表示されません --------- いろんなサイトを見て回ったのですが、同じようなトラブルがなかなか見つからず、 パソコンの環境か、パブリッシュ時の設定のせいじゃないかと調べたのですがわかりません。 大変申し訳ないのですが、わかるかたがいらっしゃいましたらご教授願えないでしょうか?

    • ベストアンサー
    • Flash
  • ページ読込中に表示が崩れるのを直したい。

    ショッピングカートのASPを使っていて、javascriptをheadで読み込めません。 そのせいなのかわかりませんが、スライドショーのjqueryを使用すると、ページ読み込みの際に、 スライドショーの中の画像が崩れた形で表示されます。 数秒待てば通常の表示に戻るのですが、綺麗に表示させることはできないでしょうか? javascriptでページ成形された後に、画像が読み込まれればいいのですが。 何卒よろしくお願い致します。

  • (AS3)外部swfを読み込んだが表示されない

    AS3で、以下のようなコードで外部SWFを呼び出して表示するというプログラムを組んでいるのですが、なぜか画面に表示されません。ContentTypeを調べたりなど色々やってみたところ、情報が取得できるのでなんらかの理由でステージに配置されていない、または配置されているが見えなくなっています。読み込むのを画像データにしてみるとうまくいきます。画像読み込みとSWF読み込みのコードって共通ですよね? package {  import flash.display.*;  import flash.net.*;   public class Main extends Sprite {    function Main():void {     var filename:String = "easy.swf";     var request:URLRequest = new URLRequest(filename);     var loader:Loader = new Loader();     loader.load(request);     addChild(loader);   }  } } 読み込むSWFのバージョンは9.0、このプログラムの書き出しも9.0で行っているのでバージョンの問題でも無いはずです。どなたかお分かりでしたら、どうかご教授お願い致します。