這是對here回答的後續操作。如何在Javascript中處理ActiveX事件
我有一個自定義的ActiveX控件引發了一個事件(「ReceiveMessage」帶有「msg」參數),需要在Web瀏覽器中由Javascript處理。從歷史上看,我們已經能夠使用下面的IE只語法來做到這一點在不同的項目:
function MyControl::ReceiveMessage(msg)
{
alert(msg);
}
然而,在控制被埋葬佈局內的情況下,JavaScript不能找到控制。具體來說,如果我們把它放到一個簡單的HTML頁面中,它可以正常工作,但如果我們把它放到一個由<Form>
標籤包裝的ASPX頁面中,我們會得到一個「MyControl is undefined」錯誤。我們嘗試了以下變體:
var GetControl = document.getElementById("MyControl");
function GetControl::ReceiveMessage(msg)
{
alert(msg);
}
...但它導致Javascript錯誤「GetControl未定義」。
處理從ActiveX控件發送的事件的正確方法是什麼?現在我們只對在IE中工作感興趣。這必須是我們正在做的一個自定義ActiveX控件。
謝謝。
澄清一點 - getElementById工作正常。我們有一個對控件的引用,Javascript只是不喜歡使用帶有該引用的::語法。 – Raelshark 2008-09-29 21:44:16
我從來沒有見過::語法,那裏有記錄? – AnthonyWJones 2008-09-30 07:21:49
很難找到它的實際文檔,但是這裏有一個指向它的MSDN文章的鏈接:http://msdn.microsoft.com/en-us/library/ms974564.aspx – Raelshark 2008-09-30 11:57:44