トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     画面の右上にあるバツ(×)ボタンの制御について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yu-ki
Åê¹ÆNo.3955
投稿日時: 2004-2-17 18:21
新米
居住地:
投稿: 10
使用環境:
画面の右上にあるバツ(×)ボタンの制御について
FLASHというよりもインターネットエクスプローラー(IE)
の問題かも知れませんが、画面の右上にあるバツ(×)ボタン
を使用不可にする方法をご存知の方はいませんでしょうか?
また、バツ(×)ボタンが押下されたタイミングで
ActionScriptの処理を実行することは可能でしょうか?

申し訳ありませんが、アドバイスをよろしくお願い致します。


【環境】
Windows2000 pro
Flash MX 2004 pro
IE6.0.2800
eShin
Åê¹ÆNo.4064
投稿日時: 2004-2-21 1:51
半人前
居住地:
投稿: 32
使用環境:
XP Pro(SP1)+IE6
MX2004 Pro
Re: 画面の右上にあるバツ(×)ボタンの制御について
yu-kiさん、こんにちは。

IEのバツ(×)ボタンを使用不可にすることはできないと思います。

でも、バツ(×)ボタンが押下されたタイミングでActionScriptの処理を実行することは、
WindowsのIE4以上のみ有効という条件で可能です。

----
ユーザがバツ(×)ボタンを押下したことはJavaScriptのonbeforeunloadイベントで分かります。
このイベントの関数の中でFlashのフレームスクリプトを実行させることができます。

たとえば、メインタイムラインに書かれたフレームラベルBeforeCloseの
フレームスクリプトを実行するにはこのようになります。
(HTMLに埋め込まれたSWFのidは"mySwf"とします。)

<script language="javascript"> 
<!--
function window.onbeforeunload() 
{ 
 if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey) 
 { 
  document.all.mySwf.TCallLabel("_root","BeforeClose");
 } 
} 
//-->
</script>


このとき画面の描画は行われません。
たとえば、フレームスクリプト内でダイナミックテキストの値を変化させても、
画面には表示されません。。

また、フレームスクリプト内の処理が終わるのを待ってからブラウザは閉じられるようです。

-*-*-*-

あまり分かりやすい説明ではないですね。 ごめんなさい。
具体的にどんなことをしたいのか分かれば、もう少し詳しいサンプルを書けるかもしれません。


----------------

yu-ki
Åê¹ÆNo.4083
投稿日時: 2004-2-21 17:45
新米
居住地:
投稿: 10
使用環境:
Re: 画面の右上にあるバツ(×)ボタンの制御について
eShinさん、ありがとうございます。

非常によく分かりました。
やはりIEでは、バツボタンは制御できないのですね。

それから、バツボタン押下時の処理として、
JavaScriptの「window.onbeforeunload()」
を使用することは私の知識になく、
「window.unload()」
では動作が不安定になっていました。
とても参考になりました。

どうもありがとうございます。
eShin
Åê¹ÆNo.4084
投稿日時: 2004-2-21 19:14
半人前
居住地:
投稿: 32
使用環境:
XP Pro(SP1)+IE6
MX2004 Pro
Re: 画面の右上にあるバツ(×)ボタンの制御について
ちょっとだけ補足です。

「window.onbeforeunload()」は、実際はウィンドウが閉じられるときではなく、
ページの内容が変わるようなタイミングでイベントが発生します。

そのため関数中のif文で[×]の押下とAlt+F4で閉じたときのみ、
Flashのスクリプトを呼ぶようにしています。
このif文の条件で大丈夫だと思いますが、もし変な挙動をするようでしたらこの辺を疑ってみてください。

▼「window.onbeforeunload()」のリファレンスページです。
Microsoft MSDN Library 「onbeforeunload()」


----------------

yu-ki
Åê¹ÆNo.4147
投稿日時: 2004-2-23 19:06
新米
居住地:
投稿: 10
使用環境:
Re: 画面の右上にあるバツ(×)ボタンの制御について
eShinさん、どうもご丁寧にありがとうございました。
非常に助かりました。
また機会がありましたら、今後ともよろしくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops