2010-01-29 27 views
5

Tôi muốn tích hợp trình tải ảnh lên Aurigma (http://www.aurigma.com/Products/ImageUploader/) trên một trang web.Làm thế nào tôi có thể phát hiện nếu một điều khiển ActiveX được tải?

Trên Internet Explorer, điều khiển là điều khiển ActiveX đưa ra lời nhắc bảo mật trước lần cài đặt đầu tiên.

Để cung cấp cho người dùng hướng dẫn về cách phản ứng với cảnh báo bảo mật này, tôi muốn hiển thị cửa sổ thông tin. Tôi muốn hiển thị cửa sổ này chỉ có điều khiển là không phải là được tải.

if (controlIsNotLoaded()) { 
    doSomething() 
    } 

Tôi làm như thế nào?

+1

Tôi đặc biệt khuyên bạn nên sử dụng trình tải lên Flash (có bản sao lưu HTML) tùy thuộc vào các điều khiển ActiveX tùy chỉnh. Sự chấp nhận của người dùng cao hơn rất nhiều và bạn sẽ không yêu cầu mọi người thỏa hiệp bảo mật bằng cách tin tưởng một plugin của bên thứ ba mới. Aurigma chắc chắn đã có nhiều lỗ hổng trong quá khứ; không đời nào tôi để nó chạy trên máy của tôi. Ngoài ra, không có dự phòng HTML tích hợp để bạn chỉ có thể cung cấp nó dưới dạng cơ chế tải lên bổ sung tùy chọn. – bobince

+0

@bob: Lời khuyên âm thanh. –

+0

@bobince: Cảm ơn lời khuyên. Tôi rất vui khi sử dụng trình tải lên dựa trên flash. Có cái nào bạn có thể giới thiệu không? –

Trả lời

6

Giả sử bạn có id của thẻ đối tượng (nếu nó đến từ đó) thì hãy kiểm tra đối tượng đối tượng thuộc tính của phần tử so với giá trị rỗng.

function controlNotLoaded() 
{ 
    var obj = document.getElementById("controlId"); 
    return (obj.object == null); 
} 

Nếu bạn đang sử dụng ActiveXObject mới thì nó sẽ ném một ngoại lệ. Tất nhiên điều này sẽ chỉ cho bạn biết nếu điều khiển không thể được tạo ra, không nhất thiết phải lý do tại sao.

+0

Cảm ơn rất nhiều vì câu trả lời này! Nó hoạt động hoàn hảo. –

Các vấn đề liên quan