javascript - 如何在 Silverlight 小程序加载后触发 JavaScript 执行?

标签 javascript silverlight dom-events

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

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

有没有办法可以停止 JS 应用程序,直到 Silverlight 加载然后开始执行?

最佳答案

首先,您需要向应用程序的 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

关于javascript - 如何在 Silverlight 小程序加载后触发 JavaScript 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305206/

相关文章:

c# - 如何在 Silverlight 中获取屏幕工作区(不是整个屏幕大小)的大小?

javascript - 在 TextArea 中捕捉标签

android - 在 Ionic 应用程序中禁用硬件后退按钮?

javascript - 如果有值则重置输入

javascript - webpack-hot-middleware 不提供任何文件

wpf - 如何在 wpf 中添加自定义可忽略属性

javascript - jquery focusin 事件未触发

wcf - ServicesReferences.ClientConfig 中的 <transport> 标记

javascript - 使用javascript显示基于两个html选择的输出

javascript - jQuery selectize 选择删除并添加按钮单击选项