无法在Firefox Mac中从JavaScript调用Silverlight

时间:2010-03-31 20:34:34

标签: javascript silverlight macos firefox

我正在使用Silverlight.js创建一个Silverlight控件,如下所示:

var properties = {
    width: '640px',
    height: '480px', 
    background: 'black', 
    version: '2.0.0.0'
};

var events = { 
    onError: function() { alert('eek!'); }, 
    onLoad: function(sender, args) { sender.content.Page.foo(); }
};

Silverlight.createObject(
    '/beta/ClientBin/DeepZoomProject.xap',  // source
    container,  // parent element
    'slPlugin',  // id for generated object element
    properties, 
    events,
    '',
    'context'    // context helper for onLoad handler.
);

在Silverlight控件中,我已经做了正确的事情,使其可编写脚本:

[ScriptableType]
public partial class Page : UserControl {
    public Page() {
        InitializeComponent();
        HtmlPage.RegisterScriptableObject("Page", this);
    }

    [ScriptableMember]
    public void foo() {
        // doing something here
    }
}

...事实上,它在Windows中的IE8,Firefox,Safari和Chrome以及Mac上的Safari和Chrome中运行良好。但是,它不适用于Mac上的Firefox(3.6)。在Firefox中,sender.content没有Page(或页面,就此而言)。它确实有根,但我不知道从那里去哪里。

关于我接下来可以尝试的任何想法?

1 个答案:

答案 0 :(得分:0)

原来我的Silverlight安装存在问题;只发生在那台机器上,当我重新安装Silverlight时,一切都很好。