2009-04-21 4 views
1

jQuery를 사용하여 XML을 가져오고 가젯의 기본 HTML (이벤트 날짜)에 XML 응답의 기본 정보를 표시하는 Vista 사이드 바 위젯을 만들었습니다. . 그러나, 나는 사용자가 링크를 클릭하면 세부 정보를 표시하기 위해 플라이 아웃 페이지를 올바르게 (또는 전혀) 작동시키는 악마가있다.Vista 사이드 바 위젯 + jQuery = 플라이 아웃 문제

XML 응답을 플라이 아웃에 전달할 때 전체 앱에 단일 .js 파일을 사용하고 있습니다. $ ('document'). ready() 함수는 플라이 아웃에 적용되고 플라이 아웃이 전혀 나타나지 않기 때문에 사용할 수 없습니다. 따라서 두 개의 초기화 함수를 만들었습니다 :

주 앱의 .ready()와 동일한 역할을하는 mainInit과 플라이 아웃의 .ready()를 처리하는 flyInit을 생성했습니다.

그냥 mainInit을 설치하면 앱이 정상적으로 작동하여 기본 앱 문서 및 인증을위한 이벤트 처리기가 추가됩니다. 그러나 세부 정보 링크를 클릭하면 flyInit 함수에 상관없이 플라이 아웃이 표시되지 않습니다.

Vista 사이드 바 앱의 기본 구조를 이해하려고합니다. 하나의 .js 파일에 등록 된 전역 변수가 가젯의 모든 HTML 페이지에서 사용 가능합니까? 나는 System.Gadget.Flyout.document를 조작하여 플라이 아웃을 처리하려고 시도했다. jQuery 또는 일반 ol 'js와 함께 아무 효과가 없다.

가젯을 사용하면 책이 꽤 얇아지고 MSDN은 쓸모가 없습니다. 나는 다른 애플 리케이션을 분해하고 튜토리얼을 따라 갔지만, 나에게는 효과가없는 것 같다.

기타 : 제가 가젯을 여러 번 다시 설치했기 때문에 Vista가 현재 반복 이미지의 배경 이미지를 사용하고 있다는 이상한 문제가 있습니다. 내가 settings.ini 파일에서 내 가제트에 대한 모든 부분을 문질러 봤지만 레지스트리에 들어가서 정리해야합니까? 나는이 쌓아 올린 쓰레기가 일이 올바르게 작동하지 않는 것일 수도 있다고 생각하고 있습니다.

이것은 매우 긴 질문이며 사과드립니다. 나는 이것에 대한 믿음을 초월하여 좌절감을 느낀다. 그리고 만일 그것이 유료 공연이 아니라면, 나는 그것을 뜨거운 바위처럼 떨어 뜨릴 것이다.

답변

0

전체 System.Gadget.Flyout.document.parentWindow를 문서화하는 것이 좋습니다. 맡은 일. 이것은 답변입니다. 위의 네임 스페이스를 사용하여 Vista 가젯의 부모 index.html에있는 전역 등록 변수 및 함수를 사용할 수 있습니다.