Виджет боковой панели Vista + jQuery = Проблемы с выпадающим меню - PullRequest
1 голос
/ 22 апреля 2009

Я создал виджет боковой панели 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 - но нужно ли мне заходить в реестр и очищать его тоже? Я думаю, может быть, эта чушь заставляет вещи работать неправильно.

Это очень длинный вопрос, и я прошу прощения. Я разочарован этим невероятно, и если бы это был не платный концерт, я бы бросил его, как горячий камень.

1 Ответ

0 голосов
/ 01 мая 2009

Рассмотрите возможность документирования всего System.Gadget.Flyout.document.parentWindow. вещь. Это ответ, ребята. Вы можете использовать глобально зарегистрированные переменные и функции из родительского index.html вашего гаджета Vista, используя вышеуказанное пространство имен.

...