2015-05-25 57 views
0

我正在使用Firefox/Safari中的Silverlight onLoad事件掙扎。在IE瀏覽器中,他們應該儘可能地開火,但在FF/Safari中他們不會。Silverlight onLoad事件不會在Firefox或Safari中觸發

我從JavaScript創建Silverlight對象,提供必要的參數,包括onError和onLoad事件。爲了便於閱讀,我省略了部分代碼。

我是否錯過了一些東西,或者我需要一些解決方法讓onLoad事件在其他瀏覽器中觸發,而不是IE?

預先感謝您!

Silverlight.createObject(
    "silverlight/MediaPlayer.xap?verison=16012013", 
    _container, 
    "silverlightControl", 
    params, 
    { 
     onError: onSilverlightError, 
     onLoad: onSilverlightLoaded 
    }, 
    {}, 
    context 
); 

var onSilverlightLoaded = function (sender, context, slObject) { 
    var slHost = slObject.getHost(); 
    // Do stuff 
}; 

var onSilverlightError = function (sender, args) { 
    console.debug("Oups..."); 
}; 

回答

0

好吧,所以錯誤是我自己的。 createObject方法的initParams參數必須是字符串,而不是Silverlight插件在Firefox和Safari中正確初始化的對象(請參見下文)。 IE似乎沒有打擾。

Silverlight.createObject(
    "silverlight/MediaPlayer.xap?verison=16012013", 
    _container, 
    "silverlightControl", 
    params, 
    { 
     onError: onSilverlightError, 
     onLoad: onSilverlightLoaded 
    }, 
    "", 
    context 
); 

var onSilverlightLoaded = function (sender, context, slObject) { 
    var slHost = slObject.getHost(); 
    // Do stuff 
}; 

var onSilverlightError = function (sender, args) { 
    console.debug("Oups..."); 
}; 
相關問題