Welcome

首页 / 软件开发 / Silverlight / Silverlight的JavaScript API

Silverlight的JavaScript API2011-09-29msdn在某些情况下,Silverlight 的 JavaScript API 是必需的或者比托管 API 更适合。本主题论述这些 情况并提供一些链接,这些链接指向有关 Silverlight 中 JavaScript API 的更多信息。

先决条件

您应该阅读应用程序和编程模型并理解托管 API 和 JavaScript API 之间的基本差异。还应理解 HTML DOM 以及 Silverlight 编程模型和对象树如何与浏览器 DOM 相关;

编程模型注意事项

Silverlight 的 JavaScript API 是已在 Silverlight 的 1.0 版中提供的编程模型。它使用当前在 Silverlight 2 中提供的一小部分对象,外加少量特定于 JavaScript API 的对象。子集注意事项还将 影响可以在 XAML 中定义的对象。Silverlight XAML 分析器只为此子集在对象树中创建对象,因为该对 象树基于位于 JavaScript API 之下的固定本机代码实现创建。换言之,适用于 Silverlight 的 JavaScript API 的子集和限制注意事项远比为编写代码隐藏逻辑所选择的语言更具切实意义;您选择的 编程模型/API 将确定哪些对象可用于您的应用程序。

如果您已针对 Silverlight 1.0 进行了开发,则可能已对用于 Silverlight 的 JavaScript API 十 分熟悉。JavaScript API 与针对 HTML DOM 的编程十分相似,并且实际上是在浏览器的脚本引擎中执行 的,就像针对 DOM 的脚本一样,但 Silverlight 模型扩展到在 XAML 页作为 Silverlight 插件的内容 加载时创建的对象树中。这使您可以处理在 XAML 中定义的特定对象上的事件,在运行时获取或设置属性 值或执行对象方法,在运行时修改 XAML 创建的对象的结构等。

就结构而言,应通过打开通往 Silverlight 对象树的路径、包装脚本调用并在本机将它们传递到插件 对象,在 Silverlight 插件上启用 JavaScript API。在 Internet Explorer 中,这一包装通过 IDispatch::Invoke 调用实现;其他浏览器可根据其插件和脚本结构使用不同的包装范例。

使用 JavaScript API 的情形

初始屏幕

初始屏幕是一个初始的内容区域,可在其他内容仍在加载时向用户显示。就设计和用途而言,初始屏 幕具有相对较低的用户界面和交互要求。初始屏幕主要用于以下方面:

展现吸引人的视觉效果。

向用户提供反馈,指示应用程序(或浏览器宿主)仍在按预期工作并且下载正在进行中。

提供有关下载进度的特定信息。

前两个功能常常在 XAML 中就可以完全实现,无需任何代码隐藏。提供下载进度要求相对较少的 API ,以便从执行下载的网络层获取信息。出于这些原因,最好通过使用 JavaScript API 并为 SplashScreenSource 加载 XAML 页(脚本代码隐藏支持这一加载),实现初始屏幕。JavaScript API 无 需激活 Silverlight CLR 和相关程序集即可加载初始屏幕,这将缩短启动时间。