アプリ版:「スタンプのみでお礼する」機能のリリースについて

as3で複数のリンクを設定しており、
別ウィンドウで開こうと思っています。

その際に、複数のウィンドウが開くのではなく、
一つの別ウィンドウに表示させたいと思っています。
"_blank"だと複数ウィンドウが開いてしまいますし、
"win_name"のようにウィンドウ名を指定しても同じになってしまいます。

これは何か方法があるのでしょうか?

A 回答 (1件)

それは基本的にブラウザに細かい命令をするわけですから


ActionScript(SWF内部的なこと) ではありません。
そういう仕事を直接するのは JavaScript です。

Flash でできることは,
そういうブラウザ制御の JavaScript を呼び出すくらいです。
このようなこと↓を Flash のボタンなどから実行させます。

■同じサブウィンドウで表示するページを切り替えよう
http://www.d3.dion.ne.jp/~tiyoko01/java/subwin/s …

↑上のJavaScriptをそのまま使わせてもらうことにします。


◎ファイル構造例

 任意のフォルダ
   ├AAA.html(AAA.SWFを貼り付ける)
   ├AAA.swf
   ├TEST1.html
   ├TEST3.html
   └TEST3.html
 
 
◎AAA.html の HTMLソース 例

---------------------------
<html>
<head>
<title>AAA</title>
<script type="text/javascript">
<!--
function subWins(pages)
{
w=window.open(pages,"mado","width=300,height=300,left=350");
w.focus();
}
//-->
</script>
</head>
<body>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cab … width="550" height="400" id="AAA" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="AAA.swf" />
<param name="quality" value="high" />
<embed src="AAA.swf" quality="high" width="550" height="400" name="AAA" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" />
</body>
</html>
---------------------------
 
 
◎AAA.swf

AAA.swf のステージ上には
「btn1」,「btn2」,「btn3」 というインスタンス名を付けたボタンがあるとします。
それらのボタンがあるフレームに書くスクリプト例↓

---------------------------
btn1.addEventListener(MouseEvent.CLICK,btn1Click);

function btn1Click(e:MouseEvent):void {
ExternalInterface.call("subWins", "TEST1.html");
}

btn2.addEventListener(MouseEvent.CLICK,btn2Click);

function btn2Click(e:MouseEvent):void {
ExternalInterface.call("subWins", "TEST2.html");
}

btn3.addEventListener(MouseEvent.CLICK,btn3Click);

function btn3Click(e:MouseEvent):void {
ExternalInterface.call("subWins", "TEST3.html");
}
---------------------------
 

この回答への補足

解決できました!
どうやら開く先のページ内でウィンド名が指定されていたため、
違うウィンドが立ち上がってしまっていたようでした。。。
ありがとうございました。

補足日時:2011/03/24 14:53
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

いただいたものと同じ記述をしたのですが、やはりウィンドが複数開いてしまいます・・

試しにHTML内にボタンを設置し、subWinsを実行してみると
一つのウィンドで表示されました。

FlashからExternalInterface.callで実行した場合は複数になってしまうようです。
ちょっとまだ解決策が見つかりません。。。

お礼日時:2011/03/21 19:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!