1

我创建了一个 Vista 侧边栏小部件,它使用 jQuery 获取 XML 并在小工具的主 HTML 中显示 XML 响应的一些基本细节(事件的日期)。但是,一旦用户单击链接,我就很难让弹出页面正常工作(或完全正常工作)以显示详细信息。

由于我将 XML 响应传递给浮出控件,因此我为整个应用程序使用了一个 .js 文件。我不能使用 $('document').ready() 函数,因为它适用于浮出控件并且浮出控件根本不显示。所以我创建了两个初始化函数:

mainInit 处理与主应用程序上的 .ready() 相同的职责,而 flyInit 处理浮出控件的 .ready()。

只要 mainInit 就位,应用程序就可以正常工作,为主应用程序文档和身份验证添加事件处理程序。但是,当我单击详细信息的链接时,无论 flyInit 函数中有什么,浮出控件都不会出现。

我试图了解 Vista Sidebar 应用程序的基本结构 - 在一个 .js 文件中注册的全局变量是否可用于小工具中的所有 HTML 页面?我尝试通过使用 jQuery 或纯 ol' js 操作 System.Gadget.Flyout.document 来处理弹出窗口,但没有效果。

书籍对于小工具来说非常薄弱,而 MSDN 毫无用处。我已经拆开其他应用程序并遵循教程,但它似乎对我不起作用。

另外:我有一个奇怪的问题,因为我已经多次重新安装这个小工具来测试它,Vista 正在使用来自当前迭代的先前迭代的背景图像。我已经从 settings.ini 文件中清除了有关我的小工具的所有内容 - 但我是否还需要进入注册表并将其清除?我在想也许这种堆积的废话是什么让事情无法正常工作。

这是一个很长的问题,我很抱歉。我对此感到非常沮丧,如果这不是一场付费演出,我会像一块滚烫的石头一样放弃它。

4

1 回答 1

0

考虑记录整个 System.Gadget.Flyout.document.parentWindow。事物。这就是答案,伙计们。通过使用上述命名空间,您可以从您的 Vista 小工具的父 index.html 中使用全局注册的变量和函数。

于 2009-04-30T21:18:54.290 回答