Я запускаю фантом js
процесс визуализации веб-страницы. На веб-странице есть много javascript
, загруженных асинхронно, каждый из которых выполняет свои собственные функции.PhantomJS - любой способ проверить, работает ли функция javascript?
Есть ли способ проверить/отладить механизм javascript в webkit, чтобы узнать, выполняет ли он в настоящее время любую строку javascript (в отличие от простоя)?
Если да, то есть способ рассказать, из какого ресурса javascript он выполняется?
Что-то вроде приостановки работы механизма javascript, регистрации трассировки стека, а затем возобновление его, как обычно, будет идеально.
Я не против читать исходный код webkit
, phantomjs
, или render.js
, модифицируя его сам и перекомпилируя его из источника. Сначала я хотел бы спросить вас, ребята, если функция уже существует или кто-то уже сделал это, так как Google не дал мне никаких результатов. Благодаря!
вы можете использовать функцию performance.getEntries() для получения списка скриптов и их таймингов для согласования с document.scripts. если они полностью взаимны, все скрипты загружаются. если все сценарии загружены и ваш код запущен, вы можете предположить, что все сценарии «запущены». подождите еще 3500 мс, и если никаких новых записей не появилось, вероятно, это будет сделана загрузка ... вы можете перегрузить объект ajax для того, чтобы сделать выборку из журналов. – dandavis
Спасибо за предложение. Из того, что я читал, кажется, что performance.getEntries() регистрирует только сетевые тайминги ресурсов. Например. если сайт загружает javascript, он регистрирует только время запроса и время приема. Тем не менее, меня интересует время выполнения фактического выполнения javascript, а не тайминги сети. Есть ли эквивалент performance.getEntries()? – user3667125
@ dandavis В приложении PhantomJS нет 'performance.getEntries()'. Просто попробовал. Доступно только 'performance.timing'. –