jsdom не загружает или не запускает внешние скрипты на странице

Кросс-пост из https://github.com/tmpvar/jsdom/issues#issue/127

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

Я использую NodeJS v2.6 на Ubuntu 10.04 AMD64 и [email protected].

файл var = readFileSync("./www/index.html", "utf8"); var window = jsdom.jsdom(файл).createWindow();

Все встроенные скрипты работают, но жалуются на отсутствие переменных, которые должны быть предоставлены внешними скриптами.

Я попытался установить URL-адрес в параметрах и попытался использовать полные (http://...) URL-адреса в атрибутах src,

Я попробовал jQuerify (используя путь jQuery по умолчанию), и это работает нормально, хотя он добавляет только jQuery, и мне все еще не хватает всех других скриптов.

Любые указатели, прежде чем я опубликую ошибочный код/URL-адреса?

Спасибо,

Крис.


person fadedbee    schedule 17.01.2011    source источник
comment
Я вижу, что вы решили свою проблему ... не могли бы вы опубликовать, как вы это сделали, в качестве ответа?   -  person Eric Bréchemier    schedule 30.01.2011


Ответы (2)


Начиная с jsdom 0.2.0 это стало намного проще. См. раздел «Простой режим» в файле readme. jsdom.env() не будет выполнять сценарии, найденные на странице, по умолчанию, что значительно упрощает то, что вы пытаетесь сделать.

person tmpvar    schedule 26.02.2011
comment
Спасибо, на днях попробую 0.2.0. - person fadedbee; 27.02.2011
comment
Но, согласно ридми, jsdom.env() не обрабатывает внешние ресурсы. jsdom.env не будет обрабатывать внешние ресурсы (скрипты, изображения и т. д.). Если вы хотите обработать javascript, используйте один из методов ниже (jsdom.jsdom или jsdom.jQueryify) - person AdamB; 20.03.2011
comment
Также сбивает с толку то, что по умолчанию в разделе «Функции по умолчанию» указано, что загрузка внешних скриптов включена по умолчанию. - person Rob Evans; 09.05.2013
comment
Ах, это только для настроек, отличных от .env(). - person Rob Evans; 09.05.2013

Я удалил со страницы весь встроенный Javascript — к счастью, страница находится под моим контролем.

person fadedbee    schedule 02.02.2011