Node js подключение jquery ui. JQuery UI – плагин Autocomplete. Установка библиотеки jQuery UI для производственной среды
Это моя формула, чтобы сделать простой искатель в Node.js. Это основная причина желания манипулировать DOM на стороне сервера и, вероятно, это причина, по которой вы здесь.
Сначала используйте request , чтобы загрузить страницу, подлежащую анализу. Когда загрузка будет завершена, обработайте ее cheerio и начните манипуляции с DOM так же, как с помощью jQuery.
Рабочий пример:
Var request = require("request"), cheerio = require("cheerio"); function parse(url) { request(url, function (error, response, body) { var $ = cheerio.load(body); $(".question-summary .question-hyperlink").each(function () { console.info($(this).text()); }); }) } parse("http://stackoverflow.com/");
В этом примере будет отображаться на консоли все главные вопросы, отображаемые на домашней странице SO. Вот почему я люблю Node.js и его сообщество. Это не могло быть проще: -)
Установить зависимости:
npm запрос на установку cheerio
И запустите (если script выше в файле crawler.js):
КодировкаНекоторые страницы будут иметь не-английский контент в определенной кодировке, и вам нужно будет декодировать его до UTF-8 . Например, страница на бразильском португальском языке (или любой другой язык латинского происхождения), скорее всего, будет закодирована в ISO-8859-1 (a.k.a. "latin1"). Когда требуется декодирование, я предлагаю request не интерпретировать контент каким-либо образом и вместо этого использовать iconv-lite для выполнения задания.
Рабочий пример:
Var request = require("request"), iconv = require("iconv-lite"), cheerio = require("cheerio"); var PAGE_ENCODING = "utf-8"; // change to match page encoding function parse(url) { request({ url: url, encoding: null // do not interpret content yet }, function (error, response, body) { var $ = cheerio.load(iconv.decode(body, PAGE_ENCODING)); $(".question-summary .question-hyperlink").each(function () { console.info($(this).text()); }); }) } parse("http://stackoverflow.com/");
Перед запуском установите зависимости:
npm запрос на установку iconv-lite cheerio
И наконец:
Следующие ссылкиСледующим шагом будет следовать ссылкам. Скажем, вы хотите перечислить все плакаты с каждого верхнего вопроса на SO. Вы должны сначала перечислить все главные вопросы (пример выше), а затем ввести каждую ссылку, разобрав каждую страницу вопросов, чтобы получить список вовлеченных пользователей.
Когда вы начнете следовать ссылкам, начнется callback hell . Чтобы этого избежать, вы должны использовать какой-то promises, фьючерс или что-то еще. Я всегда держу async в своем наборе инструментов. Итак, вот полный пример искателя с использованием async:
Var url = require("url"), request = require("request"), async = require("async"), cheerio = require("cheerio"); var baseUrl = "http://stackoverflow.com/"; // Gets a page and returns a callback with a $ object function getPage(url, parseFn) { request({ url: url }, function (error, response, body) { parseFn(cheerio.load(body)) }); } getPage(baseUrl, function ($) { var questions; // Get list of questions questions = $(".question-summary .question-hyperlink").map(function () { return { title: $(this).text(), url: url.resolve(baseUrl, $(this).attr("href")) }; }).get().slice(0, 5); // limit to the top 5 questions // For each question async.map(questions, function (question, questionDone) { getPage(question.url, function ($$) { // Get list of users question.users = $$(".post-signature .user-details a").map(function () { return $$(this).text(); }).get(); questionDone(null, question); }); }, function (err, questionsWithPosters) { // This function is called by async when all questions have been parsed questionsWithPosters.forEach(function (question) { // Prints each question along with its user list console.info(question.title); question.users.forEach(function (user) { console.info("\t%s", user); }); }); }); });
Вопрос: Некорректное подключение jQuery в Wordpress
При подключении плагина в записи вордпресса плагин не видит jquery и консоль, естественно, отвечает:
JQuery(...).rotator is not a function
В той же записи прямо перед пдключением плагина висит:
Javascript | ||
|
Который возвращает ss. Подключал в functions.php, по-неправильному в header.php, устанавливал плагин для подключения jquery на старницах -- один чёрт, не работает.
Всем обратившим внимание заранее большое спасибо.
Ответ:
Комментарий модератора | ||
|
Вопрос: Подключение JQuery UI
Пытаюсь подключить JQuery UI следующим образом. Между тегами head добавляю библиотеки и css файл:
Код HTML5 | ||
|
Код HTML5 | ||
|
И между тегами body пытаюсь выводить тот самый слайдер
В результате ничего не выводится. Проверял firebug"ом, ошибок не обнаружено. Что сделать для того, чтобы заработал?
Ответ:
pro1004ok
,
Код Javascript | ||
|
Вопрос: Подключение jQuery
Что туплю не работает jQuery.
HTML5 | ||
|