Có! Bạn có thể ném các sự kiện vào vùng C++/ActiveX làm cho mã JavaScript chạy một hàm xử lý sự kiện. Tôi thậm chí còn có thể tạo toàn bộ điều khiển ActiveX vô hình (cùng màu với nền trang) mà không có nút hoặc phản hồi trực quan nào đã làm tất cả công việc GUI của nó thông qua JavaScript và CSS.
chỉnh sửa: Lời khuyên của Frank là đúng. Here's the link on scripting events.
Chiến lược của tôi là gọi hàm C++ có tên MyUpdate (cài đặt IConnectionPoint) khi tôi muốn ép buộc cập nhật trong trình duyệt.
(Ngoài ra, tôi chắc chắn sẽ bơm tin nhắn Windows trong phương pháp Fire_MyUpdate vì đôi khi mã JavaScript sẽ gọi lại vào C++ bằng cách gọi phương thức trên điều khiển ActiveX; , ví dụ như một nút Cancel)
về phía trình duyệt, mã JavaScript có biến toàn cầu tham khảo đối tượng, tiếp theo là "::", theo sau là tên phương pháp:.
function Uploader::MyUpdate()
{
// ... code to fetch the current state of various
// properties from the Uploader object and do something with it
// for example check Uploader.IsActive and show or hide an HTML div
}
Nguồn
2008-08-25 19:22:03