これは、ここでの回答のフォローアップのようなものです。
WebブラウザのJavascriptで処理する必要のあるイベント(「msg」パラメータを持つ「ReceiveMessage」)を発生させるカスタムActiveXコントロールがあります。これまで、さまざまなプロジェクトでこれを実現するために、次のIEのみの構文を使用することができました。
function MyControl::ReceiveMessage(msg)
{
alert(msg);
}
ただし、コントロールが埋め込まれているレイアウト内では、Javascriptはコントロールを見つけることができません。具体的には、これをプレーンHTMLページに入れると正常に機能しますが、<Form>
タグでラップされたASPXページに入れると、「MyControlisundefined」エラーが発生します。以下のバリエーションを試しました。
var GetControl = document.getElementById("MyControl");
function GetControl::ReceiveMessage(msg)
{
alert(msg);
}
...しかし、Javascriptエラー「GetControlisundefined」が発生します。
ActiveXコントロールから送信されるイベントを処理する適切な方法は何ですか?今のところ、これをIEで機能させることにのみ関心があります。これは、私たちが行っていることのカスタムActiveXコントロールである必要があります。
ありがとう。