dev.convexstyle.net

window.close() の際のアラート回避

del.icio.us hatena bookmark

Flash Communication Server から Flash Media Server にバージョンアップされてから、謎の挙動が問題になっています。Flash Media Server 自体は落ちたりしていないし、Port も開いているし、Port Tunneling も行っているのですが RTMP による FMS アプリケーションへの接続がまったくされない。それも NetConnection の onStatus で NetConnection.Connect.Failed すら取得できない。それは一応 FMS を再起動することによって回避できるのですが、リルタイムコンテンツを配信するサーバなので、いつサーバへの RTMP 接続ができなくなるのか即座に知りたいものである。


window.close() の際のアラート回避画像
The picture of window.close()


直接的な解決にはなりませんが、一応打開策として FMS サーバ上で定期的にRTMP 接続を確認するための Flash + PHP でのキットを作成してみた。これ自体は NetConnection オブジェクトにより FMS アプリケーションへの接続を行う swf と特定の時間接続しないと PHP をたたいてメールを送信するものだけである。これの説明は今回の主題と違うため説明は省くが、FMS をインストールしている Windows サーバ上で定期的にこの html を挙動させ確認している。その際に Windowsサーバ上で IE で開いた html を Javascript で自動で close させると、セキュリティ上の問題で上記の画像の様なアラートが出てしまい、window が閉じずにひたすら貯蓄されていってします。多少ネットで調べてみるとこのアラートはちょっとした Javascript で回避できる模様。自分はこの作業まで知らなかったので下記に記述しておきます。

*IE のみ動作を確認できます。


<script language="Javascript" type="text/javascript">
<!--
window.opener = true;
window.close();
//-->
</script>

これで簡単に開いた window それ自体をアラートを出さずに閉じれます。

この記事関連する書物 from Amazon.co.jp

トラックバック

このエントリーのトラックバックURL:
http://www.convexstyle.net/mt/mt-tb.cgi/6

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)