2009-04-21 84 views
1

我創建了一個Vista邊欄小部件,它使用jQuery來提取XML並在小工具的主HTML(事件的日期)中顯示XML響應的一些基本細節。 。但是,我有一段時間的魔鬼讓彈出頁面正常工作(或者完全),以便在用戶點擊鏈接時顯示詳細信息。Vista邊欄小工具+ jQuery =彈出出現的問題

由於我將XML響應傳遞給了彈出窗口,因此我爲整個應用程序使用了一個.js文件。我無法使用$('document')。ready()函數,因爲它將自身應用於展開工具欄,並且根本不顯示彈出窗口。所以我創建了兩個init函數:

mainInit,它處理主應用程序中的.ready()的相同任務,以及處理彈出窗口的.ready()的flyInit。

只要mainInit就位,應用程序工作正常,爲主應用程序文檔和身份驗證添加事件處理程序。然而,當我點擊一個鏈接來獲取詳細信息時,無論flyInit函數是什麼,flyout都不會出現。

我想了解Vista Sidebar應用程序的基本結構 - 在一個.js文件中註冊的全局變量是否可用於小工具中的所有HTML頁面?我試着通過操作System.Gadget.Flyout.document來處理這個彈出窗口,無論是使用jQuery還是使用普通的ol js,都沒有任何效果。

書籍對於小工具來說非常薄弱,而MSDN則毫無用處。我已經分開了其他應用程序,並遵循教程,但它似乎並沒有爲我工作。

另外:我有一個奇怪的問題,因爲我已經重新安裝了這麼多次的小工具來測試它,Vista使用了當前迭代的背景圖片。我已經從settings.ini文件中清理了我的小工具的所有內容 - 但我是否需要進入註冊表並清除它?我在想,也許這種內置廢話是讓事情不能正常工作的原因。

這是一個很長的問題,我很抱歉。我對此感到沮喪,如果它不是一個付費的演出,我會像熱巖一樣掉落它。

回答

0

考慮記錄整個System.Gadget.Flyout.document.parentWindow。事情。夥計們,這是答案。您可以使用上述名稱空間,使用Vista小工具的父級index.html中的全局註冊變量和函數。