HTMLに埋め込むとFlashをクリックしてもページが開かない

水曜日, 7月 16th, 2008

こんにちは、なかわけです。

今日知った事実にかなりへこんでおります。
タイトルの通り、HTMLに埋め込むとFlashをクリックしてもページが開かない、のです。
もうちょい詳しく説明します。ムービークリップ(以下、MC)にボタン設定をしました。

MyButton.onRelease = function(){
getURL(“hoge.html”, “_sefl”);
}

ただ、これだけです。プレビューやなかわけが持っているテストサーバでは、MCをクリックするとちゃんとページにジャンプするのにお客さんの環境のサーバではクリックしてもページが切り替わりませんでした。マウスをオーバーするとカーソルは指マークには変わります。

その日1日中悩みましたが、結局わかりませんでした。

次の日、お客さんからメールが届いてました。

Flashプレイヤーのバージョンが9の場合、getURLで_selfが効かないようです

なんだってー!
調べてみたら、Adobeのサポートページに以下のようなドキュメントがありました。

229684 HTML ページに埋め込まれた SWF からのリンクが機能しない場合がある
http://support.adobe.co.jp/faq/faq/qadoc.sv?229684+002

簡単にまとめると、

  • 問題として、Flash Player 9では、getURL(または ActionScript 3.0 での navigateToURL)関数でウィンドウ名に「_self」「_parent」「_top」のいずれかを指定すると、SWF からのリンクが機能しない場合がある
  • 理由として、セキュリティの仕様上、getURL(または navigateToURL)の呼び出しは、同じホスト内の HTML ページのみを対象として作用する。つまり別ホストへのリンクはできない
  • 解決方法といて、別ホストへのリンクをする場合は、ターゲットに「_blank」を指定する

今日も勉強になったなー(つД`)

Tags: , , ,

Leave a Reply

*