Active X コントロールの JavaScript
-
09-06-2019 - |
質問
同僚と私は、ページ上の Web カメラを操作するためにアクティブ X コントロールを使用しなければならないという厄介な状況に遭遇しました。
Active X コントロールのボタンに JavaScript イベント ハンドラーを割り当てて、クリックされたときにページ上でアクションを起動することは可能ですか、それとも、Active X コントロールを操作するボタンを HTML ページ自体に作成する必要がありますか?次に、ページ上で必要なアクションを実行できますか?
他のヒント
はい!C++/ActiveX ランドでイベントをスローすると、JavaScript コードでイベント ハンドラー関数が実行されます。JavaScript と CSS を介してすべての GUI 作業を実行する、ボタンや視覚的なフィードバックのない、非表示の ActiveX コントロール全体 (ページの背景と同じ色) を作成することもできました。
編集:フランクのアドバイスは正しいです。 イベントのスクリプト作成に関するリンクは次のとおりです。
私の戦略は、ブラウザで更新を強制したい場合に、MyUpdate という C++ 関数 (IConnectionPoint を実装) を呼び出すことでした。
(また、JavaScript コードが ActiveX コントロールのメソッドを呼び出すことによって C++ ランドにコールバックされる場合があるため、Fire_MyUpdate メソッドで Windows メッセージをポンプするようにしました。これにより、ブラウザのフリーズが回避され、JavaScript GUI の応答性が確保されます。「キャンセル」ボタンの場合。)
ブラウザ側の JavaScript コードには、オブジェクトを参照するグローバル変数、「::」、その後にメソッド名が続きます。
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
}