2009-04-21 27 views
1

J'ai créé un widget de la barre latérale Vista qui utilise jQuery pour récupérer du code XML et afficher quelques détails de base de la réponse XML dans le code HTML principal du gadget (date d'un événement) . Cependant, j'ai du mal à faire fonctionner correctement la page flyout (ou pas du tout) pour afficher les détails une fois que l'utilisateur clique sur un lien.Vista Widget barre latérale + jQuery = Problèmes avec le menu déroulant

Depuis que je transmets la réponse XML à la macro, j'utilise un seul fichier .js pour l'ensemble de l'application. Je ne peux pas utiliser la fonction $ ('document'). Ready() car elle s'applique à la palette et la palette n'apparaît pas du tout. J'ai donc créé deux fonctions d'initialisation:

mainInit, qui gère le même rôle que .ready() sur l'application principale, et flyInit, qui gère le .ready() pour le flyout. Avec juste le mainInit en place, l'application fonctionne bien, en ajoutant des gestionnaires d'événements pour le document de l'application principale et l'authentification. Lorsque je clique sur un lien pour les détails, cependant, peu importe ce qui est dans la fonction flyInit, le flyout n'apparaît tout simplement pas. J'essaie de comprendre la structure de base d'une application Vista Sidebar - une variable globale enregistrée dans un fichier .js serait-elle disponible pour toutes les pages HTML du gadget? J'ai essayé de manipuler le flyout en manipulant System.Gadget.Flyout.document, soit avec jQuery ou avec ol 'js plain, sans effet.

Les livres sont assez minces sur le terrain pour les gadgets, et MSDN est inutile. J'ai démonté d'autres applications et suivi des tutoriels, mais cela ne semble pas fonctionner pour moi.

Aussi: J'ai un problème étrange où, depuis que j'ai réinstallé le gadget tant de fois pour le tester, Vista utilise une image d'arrière-plan d'une itération précédente pour le courant. J'ai tout nettoyé de mon gadget à partir du fichier settings.ini - mais dois-je aller dans le registre et le nettoyer aussi? Je pense que peut-être cette merde bâtie est ce qui rend les choses ne fonctionnent pas bien.

C'est une très longue question, et je m'en excuse. Je suis frustré au-delà de toute croyance avec cela, et si ce n'était pas un concert payant, je l'abandonnerais comme une pierre chaude.

Répondre

0

Envisagez de documenter l'intégralité de System.Gadget.Flyout.document.parentWindow. chose. C'est la réponse, les gens. Vous pouvez utiliser des variables et des fonctions enregistrées dans le monde entier depuis l'index.html parent de votre gadget Vista en utilisant l'espace de noms ci-dessus.

Questions connexes