Silverlight onLoad 事件不会在 Firefox 或 Safari 中触发
Silverlight onLoad event doesn't fire in Firefox or Safari
我正在努力处理 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...");
};
好的,所以错误是我自己的。 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...");
};
我正在努力处理 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...");
};
好的,所以错误是我自己的。 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...");
};