如何在Silverlight小程序加载后触发JavaScript执行?
我正在从事一个项目,在这个项目中,JavaScript和托管代码之间有很多交互。事实上,我需要JS应用程序从一开始就与页面中的Silverlight应用程序交互。因此,我需要在执行JS代码之前加载Silverlight应用程序 但是,在执行此操作时,大多数情况下,我都会遇到一个错误,即未找到对象,因为Silverlight应用程序尚未加载。所以我需要在JS执行之前加载Silverlight如何在Silverlight小程序加载后触发JavaScript执行?,javascript,silverlight,javascript-events,Javascript,Silverlight,Javascript Events,我正在从事一个项目,在这个项目中,JavaScript和托管代码之间有很多交互。事实上,我需要JS应用程序从一开始就与页面中的Silverlight应用程序交互。因此,我需要在执行JS代码之前加载Silverlight应用程序 但是,在执行此操作时,大多数情况下,我都会遇到一个错误,即未找到对象,因为Silverlight应用程序尚未加载。所以我需要在JS执行之前加载Silverlight 有没有一种方法可以停止JS应用程序,直到Silverlight加载,然后开始执行?首先,您需要向应用程序加
有没有一种方法可以停止JS应用程序,直到Silverlight加载,然后开始执行?首先,您需要向应用程序加载的事件添加一个事件处理程序,通过该事件处理程序,您可以像下面这样调用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首先,您需要向应用程序的已加载事件添加事件处理程序,您可以通过该事件处理程序调用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忘记提及,我是从Tim Heuer的帖子中得到的:忘记提及,我是从Tim Heuer的帖子中得到的: