我正在努力使用Firefox / Safari中的Silverlight onLoad事件。在IE浏览器中他们应该按照他们应该的方式开火,但在FF / 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 :(得分: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...");
};