Tôi phải phát hiện trong flash của tôi nếu người dùng đóng trình duyệt của mình hoặc truy cập trang khác và không thể truy cập flash nữa. Làm thế nào để tôi đạt được điều đó?Trình phát Flash được thông báo trên trình duyệt đóng hoặc thay đổi trang (as3)
Trả lời
ExternalInterfaceUtil.addExternalEventListener ("window.onunload", handleLogout, "unloadFlex");
package
{
import flash.external.ExternalInterface;
public class ExternalInterfaceUtil
{
public static function addExternalEventListener(qualifiedEventName:String, callback:Function,callBackAlias:String):void
{
// 1. Expose the callback function via the callBackAlias
ExternalInterface.addCallback(callBackAlias, callback);
// 2. Build javascript to execute
var jsExecuteCallBack:String = "document.getElementsByName('"+ExternalInterface.objectID+"')[0]."+callBackAlias+"()";
var jsBindEvent:String = "function(){"+qualifiedEventName+"= function(){"+jsExecuteCallBack+"};}";
// 3. Execute the composed javascript to perform the binding of the external event to the specified callBack function
ExternalInterface.call(jsBindEvent);
}
}
}
Tôi không nhớ mình đã lấy từ đâu, nhưng tôi đã sử dụng và nó hoạt động khá tốt. Tất nhiên không phải tất cả các trình duyệt đều hợp tác, nhưng nó tốt hơn là không có gì ...
Bạn có thể sử dụng kết hợp Javascript và Flash để đạt được những gì bạn đang tìm kiếm.
Sử dụng Javascript để phát hiện khi người dùng điều hướng khỏi trang. Sử dụng sự kiện javascript để gọi vào phim Flash của bạn bằng cách sử dụng ExternalInterface. Khi mã của bạn được gọi, bạn có thể xử lý sự kiện khi cần.
giao diện bên ngoài tôi có thể xử lý .. làm thế nào để bạn kiểm tra xem nó trong javascript? –
Javascript có sự kiện window.onunload mà bạn có thể đính kèm một hàm vào. Thật không may, một số trình duyệt sẽ không phải lúc nào cũng gọi sự kiện onunload khi người dùng đóng cửa sổ do lạm dụng nó trong quá khứ. Tôi biết thực tế Opera không, tôi không chắc về những người khác. – Powerlord
Ở trên làm việc tuyệt vời cho tôi với một ngoại lệ: nếu tôi trả về null là chuỗi của tôi, tôi không muốn bất kỳ thư nào để bật lên. Nó hoạt động cho tất cả các trình duyệt ngoại trừ IE, sẽ trả về một hộp thoại có nội dung "null".
Điều đó có thể được sửa chữa bằng cách thay đổi một dòng để thêm một kiểm tra null:
var jsBindEvent:String = "function(){"+qualifiedEventName+"= function(){if (" + jsExecuteCallBack + ") return "+jsExecuteCallBack+"};}";
- 1. Thông báo thay đổi tab trình duyệt như khi bạn nhận được email gmail mới hoặc tweet mới trong Twitter
- 2. Đóng/hủy phiên khi trình duyệt hoặc tab bị đóng
- 3. Trình phát mp3 dựa trên flash có thể nhúng được
- 4. Cảnh báo khi cửa sổ trình duyệt đóng vô tình
- 5. jQuery: phát hiện một trình duyệt thay đổi kích thước
- 6. Phát hiện thay đổi của tab trình duyệt bằng javascript
- 7. Rails 3.1 Tìm hiểu cách thay đổi thông báo Flash CSS Từ thông báo thành công?
- 8. WAMP: Cách hiển thị thông báo cảnh báo trong trình duyệt?
- 9. Lịch sử Api: Cách thông báo cho trình duyệt biết rằng trang đang tải?
- 10. Phát hiện thay đổi/dán trực tiếp trên JavaScript của trình duyệt chéo
- 11. Nhận thông báo về thay đổi trang trong UIWebView
- 12. Google Instant thay đổi trình giới thiệu được gửi bởi trình duyệt bằng cách nào?
- 13. Trình phát dựa trên Flash như thế này, nhưng với nguồn hoặc tùy chỉnh?
- 14. Lập trình Flash trên Linux
- 15. Dấu trang trình duyệt Chrome trên android
- 16. Thu hút sự chú ý của người dùng khi trình duyệt được thu nhỏ (thông báo trên màn hình của trình duyệt chéo?)
- 17. Cách thông báo cho người dùng rằng trình duyệt của anh ấy không được hỗ trợ
- 18. JavaScript: Trình duyệt "trình duyệt plugin" qua trình duyệt
- 19. - thay đổi thông báo
- 20. Cấu hình phát hành/gỡ lỗi với Flash + AS3
- 21. Cách phát hiện xem trình duyệt có hỗ trợ flash không?
- 22. Các phiên bản Trình duyệt hoặc trình giả lập trình duyệt khác nhau
- 23. trình duyệt phát hiện
- 24. Thay đổi mức thu phóng của trình duyệt
- 25. Phát hiện JavaScript/Thống kê trình duyệt
- 26. Thông báo khi trình phát phương tiện mở từ UIWebView?
- 27. map.fitBounds (bounds) khiến trình duyệt đóng băng
- 28. Thông báo phát sáng flash không hiển thị
- 29. Trình phát HTML5 hoặc flash để phát trực tiếp từ Amazon Cloudfront
- 30. Trang chủ trình duyệt web Android
Điều đó hoạt động rất tốt. Bất kỳ ý tưởng về cách nghe "người dùng nhấp vào nút OK trong cửa sổ bật lên JS" từ bên trong một chương trình flex? –