feb19.jp blog - life is creative!

AS3でポップアップウィンドウを呼び出す

ブックマークに追加する tags:   

AS3でポップアップウィンドウを呼び出す

ポップアップブロックを表示させずに、ポップアップウィンドウを呼び出す手法。たぶん、AS2でもできるんじゃないかとか思うんですけど、試してないからわかりません。

手法としては、ExternalInterface.call()で、JavaScriptのwindow.open()メソッドを呼び出すんですが、その時、new String()で作った文字列のインスタンスを引数に与えるってのがミソかも。

var url0:String = new String();
url0 = "http://www.meditation-records.com/";
ExternalInterface.call("window.open", url0, "_blank");

これをMouseEvent.CLICKイベントのハンドラに入れてやれば、同じ大きさで同じ機能のウィンドウを新たに開いて、アドレスにアクセスさせられる。

ExternalInterface.callの第四引数(window.open()の第三引数)にwidth=820, height=500とかのパラメータを与えてやると、そうなる。このパラメータ類は、この解説の下の、JavaScriptの解説を参考にしてください。

btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, onClickHandler);
function onClickHandler(e){
	var url1:String = new String();
	url1 = "http://www.meditation-records.com/";
	ExternalInterface.call("window.open", url1, "_blank", "width=820, height=520");
}

あと、SWFを表示するHTMLの中の、AC_FL_RunContentへやobjectタグや、SWFObjectを使う場合はそれの「allowScriptAccess」パラメータを、「sameDomain」か、「always」にする必要がある。同じドメインへなら、「sameDomain」。それ以外に、違うドメインへリンクさせるなら、「always」を。「never」にすると、サンドボックス障害エラーになります。

サンプル

附録:JavaScriptのwindow.open()メソッドについて

window.open(URL, ウィンドウ名[, オプション]);

第一引数: URL(文字列、String)
第二引数: ウィンドウ名(基本、nullとか"_blank"とかでいいっぽい。ウィンドウ名を指定する場合は、文字列、Stringで。)
第三引数: オプション(複数のパラメータをカンマで区切って、一つの文字列、Stringにして、指定する。ここを省略すると、新規ブラウザウィンドウと同じになる。)

第三引数のパラメータの種類

width ウィンドウの幅。数値で指定。
height ウィンドウの高さ。数値で指定。
left ウィンドウの左位置。数値で指定。
top ウィンドウの上位置。数値で指定。
menubar メニューバーを表示するか否か。yesかnoで指定。
toolbar ツールバーを表示するか否か。yesかnoで指定。
location アドレスバーを表示するか否か。yesかnoで指定。
status ステータスバーを表示するか否か。yesかnoで指定。
scrollbars スクロールバーを表示するか否か。yesかnoで指定。
resizable リサイズ可能か否か。yesかnoで指定。

もっと詳しいことを知りたい場合は、JavaScriptの専門サイトとかを調べるといいかもです。


2009年5月にポップアップについての新しい記事書きました。
AS3でポップアップウィンドウ(2009/春)

2008年01月08日12:36

Webデザインブログ

「AS3でポップアップウィンドウを呼び出す」の関連エントリー

 iTunes Store(Japan)

コメントを投稿

トラックバック

このエントリーのトラックバックURL:
http://feb19.jp/mt/mt-tb.cgi/126

この一覧は、次のエントリーを参照しています: AS3でポップアップウィンドウを呼び出す:

» AS3でポップアップウィンドウ(2009/春) 送信元 feb19.jp blog
Flash Player 9以上、Action Script 3.0... [詳しくはこちら]

Navigation

古:AS3でSoundを制御する
新:ゴールデンスランバー/伊坂幸太郎
トップページ

Recently Entries
Mac でファイルの関連付けを変える(Mac で AIR アプリがアップデート出来ないを解決する方法)
ファイルを右クリックして「情報を見る」を選び、表示されたウィンドウの...
Mac OS X 10.6 Snow Leopard から入ってるフォント「Menlo」がコーディング作業にいい感じ
Xcode でコード書いているとき、Eclipse でコード書くより...
AIR で JSON 形式ファイルの入出力
AIR 祭り開催中。今回はファイル入出力。AS3 で扱っている Ob...
Adobe CS5 ティザーサイトオープン
カウントダウンが始まっています。いよいよ CS5 ですね。globa...
AIR でファイルがドラッグアンドドロップされたことを NativeDragEvent で検知する
最近また AIR が楽しい気がして触っているのですが、 Google...
iPhone アプリ "iBeat - BPM Counter" を発売しました & iPhone インタラクションデザインについて
BPM 計測アプリです。既に似たようなアプリはいくつか発売されている...
AS3 の演算子 ||= について
AS3 だけでつかえるものではないのですが、AS3 での動作を確認し...
iPhone SDK 「カテゴリ」について+NSString の空白文字を除去する
Objective-C では、高位のフレームワークで、低位のフレーム...
Flash CS4 で Flex SDK (mx パッケージ、クラス) を使う
Flex 用のライブラリとかを見ると mx パッケージとか使われてい...
Flash CS5 を予習 ~Text Layout Framework (TLF) 編~
Text Layout Framework (TLF) を使って、F...