2014-12-06 3 views
0

Trident (IE11) 개체를 사용하는 앱에서 JavaScript를 디버깅하는 방법이 있습니까? 우리는 Trident 인스턴스를 임베드하는 (C++/MFC) 앱을 가지고 있습니다. 그것은 잘 작동하고 개체를 마우스 오른쪽 단추로 일반적인 IE11 컨텍스트 메뉴를 제공합니다. 하지만 디버깅 콘솔을 불러 와서 표시되는 페이지에 삽입 된 JavaScript를 디버깅 할 수있는 방법은 분명하지 않습니다. 아마도 그것은 가능하지 않습니다. 다른 플랫폼 (예 : OSX, UIWebView가있는 iOS 및 WebView가있는 Android)에서이 작업을 수행 할 수 있습니다.Trident 기반 앱에서 JavaScript 디버깅

+0

우리 팀의 다른 사람으로부터 부분적인 답변을 얻었습니다. 'debugger; '라는 단어를 삽입하십시오. – rkwright

+0

우리 팀의 다른 사람으로부터 부분 답변을 받았습니다. Internet Explorer 옵션, 고급 탭, 탐색 범주에서 스크립트 디버깅을 사용합니다. 그런 다음 "중단 점"을 원하는 코드에 'debugger;'라는 단어를 삽입하십시오. 코드를 실행하면 Visual Studio 인스턴스에서 코드를 디버깅하라는 메시지가 표시됩니다. 그런 다음 변수를 보거나 중단 점을 추가 할 수 있습니다. 따라서 다소 번거롭기는하지만 디버거를 넣을 수 있습니다. 성명서의 첫 번째 JS 줄에 성명서를 작성하면 상당히 좋은 해결책이됩니다. – rkwright

+0

예제 코드 및 추가 세부 단계를 통해 확장해야하며이를 답변으로 게시해야합니다. 그것은 확실히 다른 회원들에게 매우 유용 할 잠재력을 가지고 있습니다. –

답변

1

불행히도 IE의 "F12 개발자 도구"는 IE 자체에서 사용할 수 없습니다. IWebBrowser2 OLE 컨트롤을 사용할 때 (MFC가 내부적으로 수행함) 스크립트를 디버그하고 DOM을 보는 두 가지 다른 방법이 있습니다. 두 방법 모두 웹 페이지를 미리 수정해야합니다.

  1. Visual Studio를 사용하십시오. 시스템에 Visual Studio가 설치되어 있다고 가정하면 웹 페이지를 디버깅 할 수 있습니다. 이를 사용하려면 기존의 자바 스크립트에 debugger; 키워드를 추가하거나 웹 페이지의 어느 곳에서나 <script>debugger;</script>을 추가하십시오. 그런 다음 IE를 실행하고 인터넷 옵션을 선택하고 고급 탭을 클릭 한 다음 스크립트 디버깅 사용 안 함 (기타) 레이블이있는 상자를 선택 취소합니다. 이제 응용 프로그램을 실행하고 중단 점에 도달하면 Visual Studio에서 페이지를 디버그할지 묻는 대화 상자가 나타납니다.
  2. Firebug Lite를 사용하십시오. Firefox 용 Firebug 도구는 IE를 포함한 다른 브라우저에서도 작동하는 패키지로 제공됩니다. 이것을 사용하는 가장 쉬운 방법은 웹 페이지의 head 요소 안에 다음을 추가하는 것입니다 : <script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>. 더 많은 옵션을 확인하려면 the Firebug Lite website.