Есть ли способ отлаживать JavaScript в приложении с использованием объекта Trident (IE11)? У нас есть приложение (C++/MFC), в которое входит экземпляр Trident. Он отлично работает, и щелчок правой кнопкой мыши по объекту вызывает обычное контекстное меню IE11. Но неясно, как вызвать консоль отладки, чтобы можно было отлаживать JavaScript, встроенный в отображаемую страницу. Возможно, это даже невозможно. Это можно сделать на других платформах (например, OSX, iOS с UIWebView и Android с WebView).
К сожалению, IE "F12 Developer Tools" недоступен вне самого IE. При использовании элемента управления OLE IWebBrowser2 (поскольку MFC работает под капотом) есть два других способа отладки сценариев и просмотра DOM. Обратите внимание, что оба метода требуют предварительного изменения веб-страницы.
debugger;
ключевое слово на ваш существующий Javascript или добавить <script>debugger;</script>
любом месте веб-страницы. Затем запустите IE, выберите параметры Интернета, перейдите на вкладку "Дополнительно" и снимите флажок "Отключить отладку сценариев" ("Другое"). Теперь, когда вы запускаете свое приложение и оно попадает в точку останова, появится диалоговое окно с вопросом, хотите ли вы отлаживать страницу в Visual Studio.<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>
, Для получения дополнительных опций ознакомьтесь с сайтом Firebug Lite.
debugger;
debugger;
в вашем коде, где вы хотите "точку останова". При запуске кода вам будет предложено отладить код в экземпляре Visual Studio. Затем вы можете наблюдать за переменными, добавлять точки останова и т. Д. Так что это немного неуклюже, но вы можете установить отладчик; утверждение в самой первой строке JS в вашем коде, и у вас есть довольно хорошее решение.