2008-11-10 5 views
2

내가 Outlook 2003을 프로그래밍하고 초기화하지 않습니다. 다음은 폴더의 홈 페이지에 대한 HTML 코드입니다 :사용자 컨트롤은 권장 폴더의 홈 페이지에 포함 된 사용자 컨트롤이었다 사용합니다 추가 기능 추가 기능을 비주얼 스튜디오 2008</p> <p>를 사용하는 것과 같은

<html><head><style type="text/css">body{overflow: hidden}</style></head> 
    <body rightmargin = '0' leftmargin ='0' topmargin ='0' bottommargin = '0' onload='OnBodyLoad()'> 
     <script> 
      function OnBodyLoad() 
      { 
       var outlook = window.external.OutlookApplication; 
       FolderView.Initialize(outlook); 
      } 
     </script> 
     <object classid='clsid:C718A848-6C31-4897-8DA8-0EDE3A4C6F14' 
      id='FolderView' VIEWASTEXT width='100%' height='100%' /> 
    </body> 
</html> 

HTML 코드가 FolderSwitch 이벤트 기간 동안 활성 탐색기의 HTMLDocument의 속성에 삽입됩니다.

컨트롤의 OnLoad 이벤트에서 응용 프로그램 인스턴스에 대한 참조가 (Initialize 메서드의 매개 변수로 전달 된) 으로 사용되지만 때때로 OnLoad 이벤트가 발생하기 전에 컨트롤이 초기화되지 않습니다. 방금 생성 된, 하지만 Initialize 메서드는 호출되지 않습니다.

누군가 비슷한 경험을 했습니까? 이것은 일반적인 행동입니까?

+0

여전히 유용한 질문입니까? 또한 만약 현상금이 있다면 그것은 아마도 현상금일까요? –

+0

나는 아직도 유용하다고 믿지만이 프로젝트에서 더 이상 일하고 있지 않아 답변을 확인할 수 없었다. 그리고 정답을 명확하게 결정 짓는 미묘한 문제입니다. –

답변

0

Outlook 2003이나 그 밖의 다른 버전에 대한 경험이 없지만 HTML 및 JavaScript에 대해 알고 있으므로 즉시 "브라우저/클라이언트"에서 내부적으로 사용되는 값을 사용하지 않도록 권장합니다. 방법을 계속 사용할 수없는 것들은 아직 사용할 수 없습니다. 메소드를 호출 할 때 지연을 추가하는 것이 좋습니다. 그러면 문제가 해결 될 것이고, 과거 많은 문제를 해결할 수 있습니다.

예 :

document.addEventListener('onload', function (e) { yourFunction(params); }, false); 

참고 :는 온로드 또는 onbodyload 될 수 있습니다.