Я создал виджет боковой панели Vista, который использует jQuery для извлечения XML и отображения некоторых основных деталей ответа XML в основном HTML гаджета (дата события). Тем не менее, у меня дьявольское время, чтобы заставить всплывающую страницу работать правильно (или вообще), чтобы отображать детали, когда пользователь нажимает на ссылку.
Поскольку я передаю ответ XML во всплывающее окно, я использую один файл .js для всего приложения. Я не могу использовать функцию $ ('document'). Ready (), потому что она применяется к выпадающему меню, а всплывающее окно вообще не отображается. Итак, я создал две функции инициализации:
mainInit, который выполняет те же обязанности, что и .ready () в основном приложении, и
flyInit, который обрабатывает .ready () для всплывающего окна.
При наличии только mainInit приложение работает нормально, добавляя обработчики событий для основного документа приложения и аутентификацию. Однако когда я нажимаю ссылку для получения подробной информации, независимо от того, что находится в функции flyInit, всплывающая подсказка просто не появляется.
Я пытаюсь понять базовую структуру приложения Vista Sidebar - будет ли глобальная переменная, зарегистрированная в одном файле .js, доступна для всех HTML-страниц в гаджете? Я пытался обработать всплывающую подсказку, манипулируя System.Gadget.Flyout.document, либо с помощью jQuery, либо с обычными ol-js, безрезультатно.
Книги довольно тонкие для гаджетов, а MSDN бесполезен. Я разобрал другие приложения и следовал инструкциям, но мне это не помогло.
Также: у меня есть странная проблема, когда, поскольку я много раз переустанавливал гаджет, чтобы проверить его, Vista использует текущее фоновое изображение из предыдущей итерации. Я удалил все данные о своем гаджете из файла settings.ini - но нужно ли мне заходить в реестр и очищать его тоже? Я думаю, может быть, эта чушь заставляет вещи работать неправильно.
Это очень длинный вопрос, и я прошу прощения. Я разочарован этим невероятно, и если бы это был не платный концерт, я бы бросил его, как горячий камень.