Silverlight onLoad事件不会在Firefox或Safari中触发

时间:2015-05-25 10:36:41

标签: javascript silverlight firefox 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...");
};

1 个答案:

答案 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...");
};