1
我有一個頁面可以在單擊按鈕時加載另一個窗口。加載的頁面上有Silverlight控件,因此在接收JavaScript調用之前需要一段時間才能加載並準備好。當Javascript準備就緒時從Javascript調用Silverlight方法
我需要做的是在silverlight插件加載完成後立即調用silverlight對象的特定方法,並準備好與我進行交互。
現在,如果彈出的頁面已經被打開,則代碼將是這樣的:
var slWin = window.open('PopupPage.html', 'WindowName');
var elem = slWin.document.getElementById('slControl');
elem.Content.SlObject.MethodA();
時已經被打開窗戶,因爲控制已加載並準備這工作。我需要修改此代碼以處理elem
需要一些時間準備的情況。
我試圖使用jQuery的ready
和load
方法來處理程序添加到相應的事件,但沒有特別的欠缺。以下是完整的代碼片段:
var slWin = window.open('', 'WindowName');
var elem = slWin.document.getElementById('slControl');
if (elem == null) {
slWin.location.href = 'PopupPage.aspx';
// this branch doesn't work
$(slWin).load(function() {
elem = slWin.document.getElementById('slControl');
elem.Content.SlObject.MethodA();
});
}
else {
// this branch works fine
elem.Content.SlObject.MethodA();
}
如何解決此問題?我不介意jQuery解決方案。