This is blog page of I Nengah Januartha. An Indonesian Interactive Multimedia Developer [based on Flash]
Monday, May 23, 2005
Auto Close Pop Up Window Dengan LocalConnection
Salah satu yang saya suka dari Flash MX adalah adanya LocalConnection(). Dengan LocalConnection saya bisa mengirim atau menerima pesan dari dan untuk window yang berbeda. Selain cross window juga bisa cross applikasi misal satu saya pake browser satu lagi saya buat dalam bentuk projector(.exe) atau malah dalam director serta tentu antar frame dalam satu browser.
Untuk kali ini saya memanfaatkan LocalConnection.onStatus(info). Idenya pop up window akan mendeteksi apakah main window masih terbuka apa tidak.
Jika obejct info.level = "status" berarti koneksi dengan main window tetap jalan tetapi kalau hasilnya "error" berarti koneksi ke main window terputus alias main window telah ditutup atau load page baru dimana page baru tidak meload LocalConnection() dengan id yg sama.
Berikut contoh scriptnya :
1. Script di FLA Pop Up:
// fungsi membuat localConnection() check koneksi
checkMain_still_alive = function(){
still_Alive = new LocalConnection();
still_Alive.owner = this;
still_Alive.onStatus = function(info){
if(info.level == "status"){
trace("Main Still Alive");
} else {
trace("Fail!, lost main application");
closeApplication();
}
this.close();
}
still_Alive.send("_mainStillAlive","check","check");
}
// close application
closeApplication = function(){
fscommand("quit");
}
2. Script utk FLA main window
// fungsi membuat localConnection listener
setMain_still_alive = function(closed){
still_Alive = new LocalConnection();
still_Alive.owner = this;
still_Alive.check = function(data){
trace("check main still alive "+data);
if(closed == "closed"){
this.close();
}
}
still_Alive.connect("_mainStillAlive");
}
3. Penggunaan
Cukup dengan memanggil checkMain_still_alive(); pada FLA pop up baiknya dilakukan looping dengan menggunakan set Interval untuk tetap mengecek koneksi.
setInterval(checkMain_still_alive,2000);
Sedangkan pada sisi main window cukup panggil setMain_still_alive(); atau kalau mau membuat shortcut button di main utk menutup pop up gunakan setMain_still_alive("close");
Pada script di atas saya menggunakan fscommand("quit"); sekadar contoh anda bisa gunakan script lain tergantung base nya misal kalau dia pop pup window pada browser bisa diganti getURL("javascript:window.close()");
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment