Vista Sidebar Widget + jQuery =弹出窗口的问题

时间:2009-04-21 21:14:35

标签: jquery windows-desktop-gadgets

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

由于我将XML响应传递给弹出窗口,因此我在整个应用程序中使用单个.js文件。我不能使用$('document')。ready()函数,因为它将自身应用于弹出按钮并且弹出按钮根本不显示。所以我创建了两个init函数:

mainInit,它在主应用程序上处理与.ready()相同的任务,并且 flyInit,用于处理弹出窗口的.ready()。

只需安装mainInit,该应用程序运行正常,为主应用程序文档和身份验证添加事件处理程序。但是,当我单击链接获取详细信息时,无论flyInit函数中的内容如何,​​弹出按钮都不会出现。

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

对于小工具来说,书籍非常薄弱,而且MSDN没用。我拆开了其他应用程序并遵循了教程,但它似乎对我没用。

另外:我有一个奇怪的问题,因为我已经多次重新安装小工具来测试它,Vista正在使用当前迭代中的背景图像。我已经从settings.ini文件中清除了关于我的小工具的所有内容 - 但是我是否需要进入注册表并清除它?我想也许这个积累的垃圾就是让事情变得不对劲。

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

1 个答案:

答案 0 :(得分:0)

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