Загрузка приложения ajax с помощью jsdom - PullRequest
4 голосов
/ 17 августа 2011

Я ищу решение для начальной загрузки клиентского приложения (написанного в Backbone.js) на сервере, чтобы я мог предоставлять правильный контент сканерам и не-js потребителям.

Я пытался поиграть с jsdom & nodejs в попытке запустить приложение и получить его до загрузки основного содержимого шаблона, но приложение, похоже, никогда не запускается.

Я попробовал 2 разных решения, чтобы убедиться, что у меня есть все необходимые зависимости и приложение загружается правильно:

  1. Я пытался использовать jsdom.env () со всеми сценариями, обычно включаемыми в строку.
  2. Я попытался использовать jsdom.jsdom () и убедиться, что FetchExternalResources, ProcessExternalResources и MutationEvents были правильными и включены.

Однако ни один из них не вызывает событие window.onload. Мне интересно, может быть, JSDOM не запускает это, или, возможно, вызывает его обратный вызов после того, как он обычно был запущен?

Это задача, которая возможна в jsdom?

1 Ответ

5 голосов
/ 17 августа 2011

Я бы не стал ждать window.onload, так как jsdom не получает images / css (пока). При использовании jsdom.env вы можете просто рассматривать обратный вызов как событие «эй, все готово сейчас».

Если ваше приложение использует window.onload, вы можете запустить его внутри вышеупомянутого обратного вызова.

...