swfファイルをhtmlへ貼り付けるとき、
wmodeを設定しないと(デフォルト値だと)ブラウザ上で再生速度が遅くなります。
これを解決する方法としてwmodeをopaqueにするとよいですが、
IEで「navigateToURL」を使って新規ウィンドウに
リンクを開くとポップアップブロックにかかります。サンプルページ
そこで「ExternalInterface」を使用すればこの問題を解決することができます。
FlashCS3のヘルプには
ExternalInterface クラスは外部 API であり、ActionScript と Flash Player のコンテナとの間で
直接通信できるようにするアプリケーションプログラミングインターフェイスです。
と書かれています。よくわかりませんが、JavaScriptの関数とか実行できるということみたいです。
これをリンクを開くときに使うには下記のようなasファイルを用意して
ボタンがクリックされたときに「getURLex」にURLを渡して実行してやればよいです。
wmodeには他にも問題がありますがそれはまた次の機会に。
ファイル名 : getURL.as
package {
import flash.net.navigateToURL;
import flash.net.URLRequest;
public function getURL(url, window="_blank"){
navigateToURL(new URLRequest(url), window);
}
}
ファイル名 : getURLex.as
package{
import flash.external.ExternalInterface;
public function getURLex(url, window="_blank"){
if(ExternalInterface.available){
var str="";
try{
str=ExternalInterface.call("function(){return navigator.userAgent;}").toString();
}catch(e){
str="failed";
}
if(str=="failed" || str.indexOf("Safari")>-1 || str.indexOf("Opera")>-1){
getURL(url);
}else{
try{
ExternalInterface.call("function(){window.open('"+url+"', '"+window+"'); void(0);}");
}catch(e){
getURL(url);
}
}
}else{
getURL(url);
}
}
}