如何在加载Silverlight applet后触发JavaScript执行?

时间:2010-07-22 01:47:05

标签: javascript silverlight javascript-events

我正在开发一个项目,我在JavaScript和托管代码之间进行了大量的交互。实际上,我需要JS应用程序从一开始就在页面中与Silverlight应用程序进行交互。所以我需要在JS代码执行之前加载Silverlight应用程序。

但是这样做的时候,大多数时候我都会收到错误,因为尚未加载Silverlight应用程序而找不到该对象。所以我需要在JS执行之前加载Silverlight。

有没有办法在Silverlight加载然后开始执行之前停止JS应用程序?

1 个答案:

答案 0 :(得分:1)

首先,您需要向应用程序的Loaded事件添加一个事件处理程序,您可以从该事件处理程序中调用javascript函数,如下所示:

using System.Windows.Browser;

namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(MainPage_Loaded);
        }
    void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        HtmlPage.Window.CreateInstance("SomeFunction", new string[] { "parameter1", "parameter2" });
    }
}

}

请注意,您需要System.Windows.Browser命名空间才能使用HtmlPage