Разное

Jquery как использовать: Использование jQuery для улучшения внешнего вида и удобства использования веб-страницы

01.03.1970

Содержание

Когда и зачем использовать jQuery — Блог HTML Academy

Рассказывает Валерий Кондратьев — руководитель отдела разработки и тестирования интерфейсов из компании Selectel.

Раньше JavaScript использовали для небольших скриптов или несложных страниц, а теперь на нём делают вообще всё в интерфейсах сайтов.

Библиотека jQuery была популярна из-за существования IE6 и большого количества браузеров с разной поддержкой веб-стандартов. Программист не мог быть уверен, что его код запустится у всех пользователей. Проще было взять jQuery и написать скрипты, которые будут работать одинаково вне зависимости от браузера.

Также jQuery заметно облегчала работу с DOM, AJAX и анимациями.

Когда jQuery уместна?

Чтобы сделать простой сайт, который сами будете поддерживать (или не будете поддерживать вовсе — написали и забыли, так тоже бывает). Если сайт сложный, то чтобы работать над ним в большой команде, развивать и поддерживать, jQuery не подойдёт.

На jQuery иногда пишут большие приложения, но их сложно и дорого поддерживать.

В код нужно погружаться и всегда быть в контексте этой библиотеки, иначе уже через месяц будет сложно понять, что там написано. 

В полноценных фреймворках (например, Vue.js или Angular.js) возможности для нормальной работы уже идут «из коробки». Это, в первую очередь, компонентный подход к построению интерфейсов и абстрагирование от DOM. И любой человек, который придёт в команду со знанием фреймворка, сможет разобраться в коде — как минимум потому что есть общепринятые структуры проектов, документация, сообщество и StackOverflow. Конечно, в jQuery тоже большое сообщество и тоже есть документация, но мне кажется, там каждый пишет код под себя.

Но нужно ли?

Это вопрос о выборе удобного инструмента для конкретной задачи. Простую страничку с простой формой можно написать и на jQuery. Но если всё, что вы пишете, это простые странички с формами, то это не значит, что нужно перестать изучать новое и знакомиться с современными фреймворками. Большинство вещей, в которых была полезна jQuery, уже добавлены в «ванильный» Javascript и без всяких библиотек.

То есть обходные пути есть — главное их найти и разобраться.

Забудьте jQuery как страшный сон

На курсе «JavaScript. Профессиональная разработка веб-интерфейсов» дают такую базу, после которой jQuery вам не понадобится.

Записаться

Нажатие на кнопку — согласие на обработку персональных данных


Этот текст — часть большого интервью HTML Academy с разработчиками из Selectel. В гостях были руководитель отдела разработки и тестирования интерфейсов Валерий Кондратьев и младший фронтенд-разработчик Денис Соколинский.

Стоит ли использовать jQuery в 2019 году: сравнение с vanilla JavaScript

От автора: многие люди выступают за «просто используйте vanilla JavaScript, вам не нужен jQuery». Ну, многие вещи мне не нужны, но, тем не менее, их приятно иметь. Мне не обязательно нужен JQuery в 2019 году, у него есть не только плюсы, но и минусы. Но его, конечно, приятно иметь!

Такие страницы, как You might not need jQuery, пытаются продвигать идею, что вы можете легко отказаться от jQuery, но самый простой пример того, почему — это хорошая идея использовать jQuery: одна строка обычного кода jQuery заменяет 10 строк vanilla JS!

Большая часть JavaScript API — особенно DOM API — оскорбляет мое чувство эстетики, и это просто вежливый способ сказать, что я думаю, что JavaScript — это отстой.

el.insertAdjacentElement(‘afterend’, other) несомненно работает, но $(el).after(other) на самом деле более приятно. Хотя я никогда не был большим поклонником того, как выглядит функция $(), она намного лучше, чем то, что дает нам DOM.

Простой пример: как вы получаете элемент одного уровня? Это nextSibling или nextElementSibling? Какая разница? Какие браузеры поддерживают что? Пока вы заняты тем, что пытаетесь свериться с MDN, я просто буду использовать в jQuery next() или prev().

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Многие обычные операции в стандартных API-интерфейсах JavaScript неудобны; я мог бы привести целый список, но страница You might not need jQuery (YMNJQ) уже сделала это.

Вам по-прежнему понадобятся вспомогательные функции для различных общих задач. Опять же, на странице YMNJQ перечислены некоторые из них. Использование jQuery является стандартным способом включения этих вспомогательных функций вместо копирования / вставки их из случайных тем Stack Overflow каждый раз, когда они вам нужны.

Хотя совместимость браузеров является гораздо менее существенной проблемой , но она все еще актуальна, особенно если вы не принадлежите к типу людей «если это работает для 85% всего мира , то это достаточно хорошо для меня».

Вы всегда должны использовать JQuery? Нет, конечно нет. Добавление любой зависимости сопряжено с увеличением сложности и размера файла, но jQuery не так уж велик: сборка по умолчанию составляет 30 КБ, сжатая, пользовательская сборка без ajax и необычных вещей 23 КБ, а сборка, использующая querySelector вместо SizzleJS, составляет 17 КБ. И оригинальные 30K, и оптимизированные 17K кажутся мне вполне приемлемыми для многих целей.

Вы можете посмотреть на Bootstrap удаляет jQuery, чтобы увидеть пример того, как много усилий может потребоваться для использования vanilla JS: они написали свои собственные хелперы, пришлось отказаться от поддержки IE, так как ее было слишком сложно добавить, сделали API несовместимым («мы сломали все») и потратили на это полтора года. Если я посмотрю на конечный результат, я не могу сказать, что это намного лучше.

Я понимаю, почему они это сделали; люди хотят использовать Bootstrap с Vue.js и еще много чего, а использовать и Vue.js, и jQuery немного глупо. Я за то, чтобы уменьшить «веб-раздутие», но мы должны быть прагматичными и реалистичными. Включение ~17K jQuery действительно так плохо? Когда я упоминаю, что вам нужен более чем мегабайт JavaScript для такого сайта, как Medium или New York Times, то что, 17 КБ jQuery такое уж невыносимое бремя?

Есть несколько веских причин не использовать jQuery: если вы пишете код, который хотите использовать повторно, или если вы пишете только небольшую функцию. Но делать что-то, просто чтобы избежать jQuery? Просто используйте jQuery! «JQuery для всего», вероятно, не была такой уж хорошей идеей, но и «jQuery ни для чего» не лучше.

Я не зациклен на jQuery, и я с радостью использую «jQuery light», который соединяет JS API с чем-то более привлекательным. YMNJQ рекомендует bonzo и $dom, а также несколько других для AJAX и тому подобного, но многие из них, кажется, не поддерживаются достаточно. Кроме того, все уже знают jQuery. Зачем заменять его чем-то другим, если для этого нет веских причин?

Некоторые читатели могут задаться вопросом «а как же Vue.js, React или какой-либо другой современный фреймворк?» Цель этого поста — сравнить vanilla JavaScript с jQuery, а не предлагать Великую унифицированную теорию развития веб-интерфейса.

При этом, я думаю, есть несколько причин придерживаться простого JavaScript; прежде всего потому, что я хочу создавать быстрые веб-страницы, использовать простейший из возможных кодов и быть доступным как можно большему количеству людей. По моему опыту, сгенерированные на стороне сервера шаблоны, слегка присыпанные «прогрессивным улучшением», часто являются лучшим способом сделать это в стиле JavaScript. Зачастую это легче разрабатывается, быстрее, меньше подвержено ошибкам, и вентилятор вашего ноутбука не разбудит соседей.

Означает ли это, что эти веб-фреймворки всегда плохи? Нет, не так уж много вещей плохи «всегда» (или хороши), чаще всего это набор компромиссов (как, впрочем, и в случае jQuery).

По сути, я думаю, что Интернет — это система для просмотра документов, а не операционная система. Даже для многих «веб-приложений» (что бы вы ни имели ввиду) подход к документам работает достаточно хорошо (эта тема заслуживает отдельной публикации… может, когда-то в будущем).

Автор: Martin Tournoij

Источник: //arp242.net

Редакция: Команда webformyself.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Как отказаться от jQuery в современном фронтенде: опыт команды GitHub

Не так давно GitHub полностью перестал использовать jQuery в своём фронтенд-коде.

Мы перевели пост, в котором разработчики рассказывают, с чего началась их работа с jQuery, как они поняли, что пора от него отказываться, и как они смогли сделать это без использования других библиотек или фреймворков.

Зачем jQuery был нужен раньше?

jQuery 1.2.1 вошёл в число зависимостей GitHub в конце 2007 года. Это произошло за год до того, как Google выпустил первую версию браузера Chrome. На тот момент не было общепринятого способа обращаться к элементам DOM с помощью CSS-селектора, не было стандартного способа добавить анимацию к стилю элемента, а интерфейс XMLHttpRequest, предложенный Internet Explorer, как и многие API, был плохо совместим с браузерами.

С jQuery стало гораздо проще управлять DOM, создавать анимации и делать AJAX-запросы. У веб-разработчиков появилась возможность создавать более современные, динамические сайты, которые выделялись среди остальных. Самое главное, все функции JavaScript, проверенные в одном браузере с помощью jQuery, как правило, работали и в других браузерах. На заре GitHub, когда большинство его функций только обретали форму, появление jQuery позволило небольшой команде разработчиков быстро создавать прототипы и представлять новые функции без необходимости подстраивать их отдельно под каждый браузер.

Простой интерфейс jQuery также послужил основой для создания библиотек, которые в будущем стали компонентами остальной части фронтенда GitHub.com: pjax и facebox.

Веб-стандарты в последующие годы

С течением времени GitHub превратился в компанию с сотнями разработчиков и постепеннно сформировалась команда, которая отвечала за размер и качество JavaScript-кода, который мы отправляем браузерам. Одна из вещей, за которыми мы постоянно следим, — технический долг, порой вырастающий из некогда полезных зависимостей, которые потеряли свою актуальность по прошествии времени.

Когда очередь дошла до jQuery, мы сравнили его с развивающимся веб-стандартом в браузерах и поняли, что:

  • Шаблон $(selector) можно легко заменить на querySelectorAll()
    ;
  • Переключение CSS-классов теперь можно осуществить с помощью Element. classList;
  • CSS теперь поддерживает создание анимации в таблицах стилей, а не в JavaScript;
  • $.ajax-запросы можно выполнять с помощью Fetch Standard;
  • Интерфейс addEventListener() достаточно стабилен для кроссплатформенного использования;
  • Шаблон делегирования событий легко инкапсулировать с помощью легковесной библиотеки;
  • С эволюцией JavaScript часть синтаксического сахара jQuery устарела.

Кроме того, синтаксис цепочек команд не удовлетворял нашим представлениям о коде, который мы хотели бы писать в будущем. Например:

$('.js-widget')
  .addClass('is-loading')
  .show()

Такой синтаксис прост в написании, однако по нашим стандартам не очень хорошо передаёт намерения автора. Сколько элементов js-widget, по его задумке, должно быть на странице: один или больше? А если мы обновим разметку страницы и случайно оставим имя класса js-widget, будет ли выброшено исключение, которое сообщит нам, что что-то пошло не так? По умолчанию jQuery молча пропускает всё выражение, когда нет совпадений по начальному селектору; однако для нас такое поведение было больше багом, нежели фичей.

Наконец, нам хотелось начать аннотировать типы с Flow, чтобы проводить статическую проверку типов во время сборки, и мы пришли к выводу, что синтаксис цепочек плохо поддаётся статическому анализу, так как почти каждый результат вызова метода jQuery одного и того же типа. Из возможных вариантов мы выбрали именно Flow, так как тогда такие возможности, как режим @flow weak, позволили нам начать прогрессивно и эффективно применять типы к кодовой базе, которая по большей части была нетипизированной.

В конечном счёте отказ от jQuery означает, что мы можем больше полагаться на веб-стандарты, использовать веб-документацию MDN в качестве официальной документации для наших фронтендеров, поддерживать более гибкий код в будущем и уменьшить вес наших зависимостей на 30 Кбайт, что в итоге увеличит скорость загрузки страницы и выполнения JavaScript.

Постепенный переход

Хотя наша конечная цель была не за горами, мы знали, что было бы нецелесообразно направить все имеющиеся ресурсы на переписывание всего с jQuery на чистый JS. Во всяком случае, такое поспешное решение негативно бы сказалось на функциональности сайта, от которой нам бы пришлось отказаться. Вместо этого мы:

  • Начали отслеживать количество вызовов jQuery на строку кода и следили за графиком на протяжении времени, чтобы убедиться, что он либо не меняется, либо падает, но не растёт.
  • Отказались от использования jQuery в новом коде. Чтобы достичь этого с помощью автоматизации, мы создали eslint-plugin-jquery, который проваливал CI-тесты при попытке использовать возможности jQuery вроде $.ajax.
  • В старом коде появилось много нарушений правил eslint, которые мы пометили с помощью специальных правил eslint-disable в комментариях. Для того, кто будет это читать, такие комментарии должны были служить явным сигналом того, что здесь не отражаются наши текущие методы написания кода
  • Мы написали бота, который при отправке pull request’а оставлял комментарий, сигнализирующий нашей команде каждый раз, как кто-то хотел добавить новое правило
    eslint-disable
    . Таким образом мы могли провести ревью кода на ранней стадии и предложить альтернативы.
  • Большая часть старого кода была явно связана с внешними интерфейсами jQuery-плагинов pjax и facebox, поэтому мы оставили их интерфейсы почти без изменений, в то время как изнутри заменили их реализацией на чистом JS. Наличие статической проверки типов вселило в нас уверенность в проводимом рефакторинге.
  • Много старого кода было связано с rails-behaviors, нашим адаптером для Ruby on Rails, таким образом, что он присоединял обработчик жизненного цикла AJAX к определённым формам:
    // УСТАРЕВШИЙ ПОДХОД $(document).on('ajaxSuccess', 'form.js-widget', function(event, xhr, settings, data) { // вставка данных ответа куда-нибудь в DOM })

    Вместо того чтобы переписывать все эти вызовы согласно новому подходу, мы решили использовать ложные события жизненного цикла ajax*, и формы продолжали отправлять данные асинхронно, как и раньше; только теперь изнутри использовался fetch().

  • Мы поддерживали свою сборку jQuery, из которой убирали ненужные нам модули и заменяли более лёгкой версией. Например, после избавления от всех jQuery-специфичных CSS-псевдоселекторов вроде :visible или :checkbox мы смогли убрать модуль Sizzle; а когда мы заменили $.ajax-вызовы на fecth(), мы смогли отказаться от модуля AJAX. Мы убивали двух зайцев разом: уменьшали время выполнения JavaScript, параллельно гарантируя то, что никто не напишет код, который будет пытаться использовать удалённую функциональность.
  • Глядя на статистику нашего сайта, мы старались прекратить поддержку Internet Explorer настолько быстро, насколько это возможно. Как только использование определённой версии IE падало ниже определённого порога, мы прекращали её поддержку и фокусировались на более современных браузерах. Отказ от поддержки IE 8-9 на раннем этапе позволил нам использовать многие нативные возможности браузеров, которые в противном случае было бы сложно «заполифиллить».
  • В рамках нашего усовершенствованного подхода к написанию фронтенда GitHub мы сосредоточились на использовании обычного HTML по-максимуму, добавляя JavaScript в качестве последовательного улучшения. В итоге даже те формы и другие элементы интерфейса, которые были улучшены с помощью JS, как правило, могли работать даже с выключенным в браузере JavaScript. В некоторых случаях нам даже удалось удалить определённую устаревшую функциональность вместо её переписывания на чистом JS.

Благодаря этим и аналогичным усилиям с течением времени мы постепенно смогли уменьшить нашу зависимость от jQuery вплоть до того момента, когда не осталось ни одной строки кода, ссылающейся на эту библиотеку.

Custom Elements: пользовательские элементы

Одна технология, наделавшая шуму в последние годы, — Custom Elements: библиотека компонентов, встроенная в браузер, что означает отсутствие необходимости для пользователя качать, парсить и компилировать дополнительные байты фреймворка.

Мы создали несколько пользовательских элементов на основе спецификации v0 с 2014 года. Однако, поскольку стандарты в то время постоянно менялись, мы сильно в это не вкладывались. А начали только с 2017 года, когда была выпущена спецификация Web Components v1, реализованная как в Chrome, так и в Safari.

Во время перехода с jQuery мы искали структуры, которые можно было бы извлечь в качестве пользовательских элементов. Например, мы преобразовали код facebox, использованный для отображения модальных диалогов, в элемент <details-dialog>.

Наша общая философия прогрессивного улучшения относится и к пользовательским элементам. Это значит, что мы стараемся хранить как можно больше контента в разметке и только добавлять поведение поверх неё. Например, <local-time> по умолчанию показывает исходную временную метку, но с улучшением может переводить время в местный часовой пояс, а <details-dialog>, расположенный внутри элемента <details>, интерактивен даже без JavaScript, но может быть улучшен до расширенных возможностей доступа.

Вот пример того, как можно реализовать элемент <local-time>:

// Элемент local-time отображает время в текущем
// часовом поясе и местоположении пользователя.
//
// Пример:
//   Sep 6, 2018
//
class LocalTimeElement extends HTMLElement {
  static get observedAttributes() {
    return ['datetime']
  }

  attributeChangedCallback(attrName, oldValue, newValue) {
    if (attrName === 'datetime') {
      const date = new Date(newValue)
      this.textContent = date.toLocaleString()
    }
  }
}

if (!window.customElements.get('local-time')) {
  window.LocalTimeElement = LocalTimeElement
  window.customElements.define('local-time', LocalTimeElement)
}

Один из аспектов Web Components, который мы очень хотим перенять, — Shadow DOM. У Shadow DOM есть потенциал для раскрытия множества возможностей для веба, однако он также усложняет полифиллинг. Так как его полифиллинг на данный момент приведёт к снижению производительности даже для кода, который управляет частями DOM, не относящихся к веб-компонентам, для нас нецелесообразно использовать его в продакшне.

Полифиллы

Здесь вы можете увидеть полифиллы, которые помогли нам перейти к использованию встроенных возможностей браузера. Мы стараемся использовать их, только когда это совершенно необходимо, т.е. как часть отдельного JavaScript-бандла для совместимости с устаревшими браузерами.

Смотрите также: «Фундаментальные принципы объектно-ориентированного программирования на JavaScript»

Перевод статьи «Removing jQuery from GitHub.com frontend»

Подключение jQuery к HTML странице | jQuery для начинающих

Прежде чем начать работать с данной javascript библиотекой, нам необходимо ее загрузить, либо использовать CDN.

Загрузка библиотеки jQuery

Найти библиотеку jQuery для загрузки, можно на официальном сайте разработчика http://jquery. com/download там должны быть представлены различные версии jQuery, можете выбирать самую новую, т.к. принципиальных различий в версии нет, но более новые версии могут содержать методы, которые нет в старых, и быть более оптимизированными.

При загрузке, библиотека jQuery будет представлена в двух вариантах :

  • Compressed(минимизированная) jquery-****.min.js — если вы не будете лопатить исходный код библиотеки, то вам достаточно будет этого файла
  • Uncompressed (обычный) jquery-***.js. — версия для разработчиков (Если вы выбираете его, то не забудьте сжать его самостоятельно, прежде чем выгружать на «боевой сервер»)

Подключение библиотеки jQuery

Всё что нужно знать о подключении библиотеки jQuery — это, что библиотека подключается как обычный ,js скрипт, а код который будет использоваться вместе с этой библиотекой и плагинами, под строкой подключения jQuery

<head>
<!-- Подключение jQuery -->
<script src="jquery-***. min.js"></script>

<!-- Подключение jQuery плагинов (если вам это необходимо)
<script src="jquery-plugin-1***.min.js"></script>
 ЖЕЛАТЕЛЬНО ПОДКЛЮЧАТЬ В САМОМ НИЗУ СТРАНИЦЫ
-->

<!-- Свой код
<script src="my_scripts.js"></script>
 ЖЕЛАТЕЛЬНО ПОДКЛЮЧАТЬ В САМОМ НИЗУ СТРАНИЦЫ
-->
</head>

Подключение jQuery с CDN

Если вы не исправляете саму библиотеку jquery, а используете только версию Compressed (файлик  min.js), то есть смысл не загружать библиотеку на локальный сервер, а подключать его напрямую с CDN (Content Delivery Networks) — в данном случае библиотека jQuery находится физически в ctnb CDN — а мы просто ссылаемся на неё.

Что такое CDN

В двух словах, CDN — это сети из серверов разнесенных на большое расстояние между собой. Когда в сеть CDN приходит запрос на какой-либо файл, внутри сети определяется, какой сервер ближе расположен к месту запроса и отправляет его на тот сервер, таким образом, выбирается оптимальный маршрут по которому наиболее быстро будет отправлен скачиваемый файл в ответ на запрос.

Строка подключения библиотеки jQuery с CDN сервера

Строка подключения к CDN серверу также находится на странице  http://jquery.com/download и выглядит следующим образом (в зависимости от версии):

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

 

 

Нужен ли вам jQuery? По полочкам. Сниппеты You Don’t Need jQuery / VSC, Sublime Text

Всем привет, друзья! Сообщество веб-разработчиков в последнее время разрывает дикий баттхерт относительно того, стоит ли использовать jQuery в своей работе. Одни топят за то, что нужно использовать эту библиотеку во всех проектах без исключения, другие не могут понять, что вообще происходит и продолжают делать то, что делали раньше. Третьи, чтобы не отрываться от коллектива, осваивают последний ECMAScript, всячески открещиваются от jQuery и бомбят при любом упоминании этой библиотеки. Сегодня мы разберемся в вопросе более подробно, без крайностей и максимализма.

Поделиться

Твитнуть

Поделиться

Класснуть

Запинить

Полезные ресурсы урока:

В конце выпуска мы познакомимся с коллекцией сниппетов You Don’t Need jQuery, которую я подготовил для редакторов Visual Studio Code и Sublime Text. Эта коллекция послужит отличным помощником, если вы вдруг проснулись и поняли, что жизнь слишком проста и нужно писать код исключительно на ванильном JS. Кроме того, в грядущем большом курсе Джедай верстки 8, в качестве академического примера, мы будем верстать без использования jQuery, на чистом JS и представленная коллекция будет очень кстати.

jQuery – это самая популярная в мире JS библиотека, позволяющая значительно упростить процесс взаимодействия с элементами DOM, а также предоставляющая удобный API для работы с событиями и AJAX.

Здесь я не буду защищать ни одну из сторон, так как это бессмысленно. Это не конкуренция и сокращение «vs» (versus) ставить между jQuery и нативным JS просто некорректно. Когда надо, я использую jQuery, когда не надо, не использую. jQuery — это инструмент, созданный для того, чтобы максимально сократить время разработки. Здесь я даже не говорю о краткости записи, ведь нативный JS не стоит на месте, стандарты ES развиваются и нативный код становится короче. Дело не в этом.

Главное преимущество jQuery – это тысячи готовых плагинов и расширений, которые можно подключить к проекту и настроить всего за несколько минут. Второе важнейшее преимущество — это проверенная, оттестированная, железобетонная кроссбраузерность и поддержка всего, что может отображать веб-страницы с поддержкой JavaScript.

Но, давайте по-порядку рассмотрим все аргументы «за» и «против» использования jQuery, а затем перейдем к примерам проектов, в которых целесообразно использовать эту библиотеку.

Аргументы в пользу jQuery

  1. Кроссбраузерность. jQuery учитывает особенности работы со всеми возможными браузерами (с поддержкой JS, конечно-же), имеет все необходимые фолбеки и запасные варианты реализации. Ваш код будет работать везде. В противовес, НЕ использование jQuery потребует от вас больше временных затрат и усилий для написания и тестирования вашего кода.
  2. Вариативность. Функции jQuery включают огромное количество вариантов и возможностей использования, что делает их максимально универсальными и лаконичными. Использование ванильного JS предполагает написание намного большего количества кода, условий и проверок для реализации аналогичного функционала, даже если речь идет о какой-то специфической задаче, где не требуется особая универсальность.
  3. Расширения. Тысячи готовых плагинов, расширений, примеров, сниппетов готовы к использованию. Вам не придется писать свой велосипед для решения типовой задачи. Можно сказать, что это самое важное преимущество jQuery. Писать плагины для jQuery также легко, как писать любой другой код с использованием этой библиотеки. Именно поэтому jQuery так нравится многим веб-разработчикам. Сейчас можно найти абсолютно любой плагин, который поможет быстро решить любую задачу в условиях коммерческого проекта. А в заказной разработке, если вы фрилансер или студия, время — деньги.
  4. Сообщество. Огромное количество уроков, примеров кода, решений на сайтах QA. Можно очень быстро найти решение любой задачи, моментально найти ответ на любой вопрос и продолжить работу.
  5. Краткость записи. Нативный JS, не смотря на свое развитие, пока что не может предложить такие-же возможности краткой записи. jQuery – это простой, лаконичный код, понятный даже начинающим и довольно простой в изучении.
  6. CMS. Практически все популярные CMS, такие, как OpenCart, Joomla, WordPress, используют библиотеку jQuery. Это огромный плюс, ведь возможности этой библиотеки как во фронтенде, так и в бэкенде любой CMS, как правило, реализованы по максимуму и вопроса — подключать jQuery для десяти кастомных строк кода или нет, не стоит. Пользуйтесь в свое удовольствие.

Аргументы против jQuery

  1. Библиотека jQuery загружается в проект как дополнительный ресурс. Можно много спорить относительно того, стоит ли загружать файл, весом 100кб к проекту, чтобы написать всего 5 строчек кода, в то время, когда каждая из картинок на странице весит гораздо больше, а их там, на минуточку, могут быть сотни. Также, следует учитывать и все подключенные плагины, сниппеты и другие ресурсы, использующие jQuery, чтобы понять целесообразность подключения библиотеки.

Зачастую это главный и единственный аргумент против использования jQuery и предмет спора в сообществе. jQuery хоть и крайне маленький ресурс, однако его нерациональное использование может серьезно пошатнуть психику кодера-перфекциониста.

Само по себе понятие «библиотека» в программировании довольно простое для понимания. В процессе работы с каким-либо языком программирования, разработчики сталкивались с определенными задачами, однотипными проблемами, решения которых в результате были объединены в библиотеки для удобного повторного использования. Отсюда и возникают все плюсы и минусы использования библиотек. Плюс — проверенный код на любой случай жизни, минус — много того, что не используется здесь и сейчас также подтягивается в проект.

Можно услышать и некоторые другие аргументы против использования jQuery, вроде того, что эта библиотека замедляет работу браузера и работает медленнее нативного кода. Это весьма сомнительные заявления, не подкрепленные никакими фактами, экспериментальными выводами и результатами тестов. Как показывает практика, никакого негативного влияния на скорость работы браузера библиотека не оказывает, а код работает также быстро, как и нативный, ведь он, по-сути и является нативным — все функции jQuery не имеют какой-то космически-сложной структуры, которая хоть как-то влияла бы на скорость исполнения.

Использовать или не использовать jQuery?

В первую очередь, не стоит отказываться от jQuery в заказной или тиражной разработке сайтов. Эти области достаточно хорошо стандартизированы и автоматизированы. Можно получить потрясающий результат, используя популярные фреймворки, вроде Bootstrap и библиотеки, вроде jQuery, совместно с крутыми известными плагинами. Если вы видите в дизайне элементы, блоки или секции, которые проще и быстрее реализовать с использованием jQuery и плагинов, вперед!

Вообще, jQuery можно использовать практически в любых проектах, если вы уверены, что будет задействована достаточная часть библиотеки и не используется какой-либо JS-фреймворк. Конечно, никто не запретит подключить библиотеку к проекту и написать пресловутые 5 строк кода. Осудить вас может, пожалуй, только вышеупомянутый кодер-перфекционист, если случайно заглянет в ваши исходники. Ему лучше на глаза не попадаться, чтобы не случился очередной приступ паранойи и неконтролируемого гнева. А если серьезно, то в таких случаях библиотеку можно и не использовать, а посмотреть вариант решения задачи в сниппетах для редакторов кода, которые я подготовил к данному выпуску (см. Полезные ресурсы урока).

Кроме того, не стоит использовать jQuery, если вы планируете делать уникальный сложный проект, который будет бесконечно развиваться. Зачастую, над такими проектами работает большая команда и функционал фронтенда выходит далеко за пределы возможностей библиотеки jQuery.

В настоящее время огромное количество контентных проектов, крупных СМИ, коммерческих сайтов и многих известных ресурсов используют jQuery, так как функционал этой библиотеки достаточен и значительная его часть реализована. Это и есть основные критерии грамотного использования любого ресурса.

Коллекция сниппетов для Visual Studio Code и Sublime Text.

Для того, чтобы облегчить написание нативного JS, если до этого вы использовали только jQuery, я подготовил коллекцию сниппетов для редакторов Visual Studio Code и Sublime Text, основанную на популярных примерах You Don’t Need jQuery (см. Полезные ресурсы урока). Сниппеты устанавливаются и работают с редакторами кода штатным образом. В коде каждого сниппета есть закомментированный пример, написанный с использованием jQuery и его альтернатива в нативном исполнении:

Установка в Sublime Text

Для установки сниппетов в редактор Sublime Text достаточно скачать архив с GitHub и распаковать папку «YDNjQ — Sublime Text Snippets» в директорию «ПОЛЬЗОВАТЕЛЬ \ AppData \ Roaming \ Sublime Text 3 \ Packages \ User», которую можно открыть из редактора: Меню «Preferences > Browse Packages…», затем перейти в папку User:

Установка в Visual Studio Code

Процесс установки сниппетов в кодовый редактор Visual Studio Code не на много сложнее. Скачиваем тот-же самый архив с GitHub и выгружаем содержимое папки «YDNjQ — Visual Studio Code Snippets» в папку «ПОЛЬЗОВАТЕЛЬ \ AppData \ Roaming \ Code \ User \ snippets». Обратите внимание, что необходимо выгрузить именно содержимое папки «YDNjQ — Visual Studio Code Snippets», то-есть весь список файлов:

После установки сниппеты доступны по ключевым словам jQuery-функций. Например, «hide», «fade», «load» и т. д. Для использования в Sublime Text достаточно набрать нужное сокращение и нажать Tab, или нажав Ctrl+Shift+P, ввести ключевое слово и выбрать нужный сниппет с префиксом YDNjQ. В редакторе Visual Studio Code достаточно нажать F1 > Insert Snippet, ввести ключ сниппета и выбрать нужный.

И в заключение. Хотите использовать jQuery или какую-либо другую библиотеку в вашем проекте — используйте на здоровье. Грамотно и рационально.

Премиум уроки от WebDesign Master

Другие уроки по теме «jQuery»

Подключение библиотеки jQuery. 4 способа

Подключать библиотеку jQuery можно различными способами. Давайте рассмотрим разные способы.

Способ 1. Скачать в папку и подключить файл

Наиболее распространённый способ, если сайт могут просматривать локально, без подключения сети Интернет (неужели такие еще есть?).

Идем по адресу и жмем большую желто-оранжевую кнопку Download jQuery. Переходим на страницу где выбираем версию jQuery. Желательно выбирать последнюю из доступных (на момент написания статьи – это 2.2.3). Обозначение compressed – означает, что библиотека минимизирована, т.е. занимаем минимум места, но, к сожалению, читать исходных код трудно. Качаем! После сохранения подключаем файл библиотеки. Для моей структуры (все скрипты лежат в папке js), код выглядит следующим образом:

<!DOCTYPE html> <html lang=»en»> <head> <meta charset=»UTF-8″> <title>Document</title> <!—Подключаем библиотеку—> <script src=»js/jquery-2.2.3.min.js»></script> </head> <body> </body> </html>

<!DOCTYPE html>

<html lang=»en»>

<head>

<meta charset=»UTF-8″>

<title>Document</title>

<!—Подключаем библиотеку—>

<script src=»js/jquery-2. 2.3.min.js»></script>

</head>

<body>

</body>

</html>

Так выглядит структура проекта, библиотеку jQuery скачали в папку js

библиотека лежит в папке js

В некоторых случаях, библиотеку подключают перед закрывающимся тегом body, что связанно с порядком обработки html страницы браузером. Поскольку браузер вычитывает строки последовательно, то при подключении jQuery в конце файла вначале браузер отобразит сайт, а затем уже подключит динамику. При медленном соединении, такой подход обеспечивает увеличение скорости загрузки сайта, и уже потом работу слайдеров и остального. Код при таком подключении выглядит:

<!DOCTYPE html> <html lang=»en»> <head> <meta charset=»UTF-8″> <title>Document</title> </head> <body> <!—Подключаем библиотеку—> <script src=»js/jquery-2. 2.3.min.js»></script> </body> </html>

<!DOCTYPE html>

<html lang=»en»>

<head>

<meta charset=»UTF-8″>

<title>Document</title>

</head>

<body>

 

<!—Подключаем библиотеку—>

<script src=»js/jquery-2.2.3.min.js»></script>

</body>

</html>

Какой из способов лучше? Это вопрос философии и привычки. Второй способ, используется в фреймворке materialize.

Способ 2. Подключаем напрямую с CDN

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

Для подключения рекомендую использоваться подключение от Google Developers, обычно я нахожу данную страницу по ссылке jquery google. Наша задача скопировать строку:

<script src=»https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js»></script>

и подключить ее в файл. Выглядит это так:

<!DOCTYPE html> <html lang=»en»> <head> <meta charset=»UTF-8″> <title>Document</title> <!—Подключаем библиотеку—> <script src=»https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js»></script> </head> <body> </body> </html>

<!DOCTYPE html>

<html lang=»en»>

<head>

<meta charset=»UTF-8″>

<title>Document</title>

<!—Подключаем библиотеку—>

<script src=»https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js»></script>

</head>

<body>

</body>

</html>

Второй способ подключения, перед закрывающимся тегом body:

<!DOCTYPE html> <html lang=»en»> <head> <meta charset=»UTF-8″> <title>Document</title> </head> <body> <!—Подключаем библиотеку—> <script src=»https://ajax. googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js»></script> </body> </html>

<!DOCTYPE html>

<html lang=»en»>

<head>

<meta charset=»UTF-8″>

<title>Document</title>

</head>

<body>

<!—Подключаем библиотеку—>

<script src=»https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js»></script>

</body>

</html>

Все просто!

Использование Объектов FormData — Интерфейсы веб API

Объект FormData позволяет создать набор пар ключ/значение и передать их, используя XMLHttpRequest. Объект FormData предназначен для передачи данных форм, однако может быть использован для передачи пар ключ/значение независимо от форм. Данные передаются в том же формате, как и данные, передаваемые методом submit() формы, с установленной кодировкой enctype="multipart/form-data".

Вы можете самостоятельно создать пустой объект FormData, наполнив его затем данными, используя его метод append():

var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); 


formData.append("userfile", fileInputElement.files[0]);


var content = '<a><b>hey!</b></a>'; 
var blob = new Blob([content], { type: "text/xml"});

formData.append("webmasterfile", blob);

var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);
Примечание:  Поля «userfile» и «webmasterfile» оба содержат файлы. Число, переданное полю «accountnum» немедленно преобразуется в строку. Преобразование осуществляется методом FormData. append() (Значение поля может быть Blob, File, или строкой: если значение не является ни Blob, ни File, то оно автоматически преобразуется в строку).

Данный пример показывает создание экземпляра FormData, содержащего поля «username», «accountnum», «userfile» и «webmasterfile». Экземпляр FormData затем отправляется при помощи метода send() объекта XMLHttpRequest. Поле «webmasterfile» является экземпляром класса Blob. Объект класса Blob является файлом-подобным объектом, содержащим «сырые» данные. Определение данных как Blob не является обязательным в нативном javascript. Интерфейс File базируется на Blob, наследуя его функциональность и расширяя его для поддержки файлов в ОС пользователя. Для создания объектов класса Blob используйте Blob() constructor.

Для создания объекта FormDatа, содержащего данные существующей формы (<form>) передайте форму в качестве аргумента при создании объекта FormData:

Примечание: FormData будет использовать только те поля ввода, которые используют атрибут name.

var formData = new FormData(someFormElement);

Например:

var formElement = document.querySelector("form");
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
request.send(new FormData(formElement));

Вы так же можете добавить дополнительные данные в объект FormData после его создания и до отправки данных:

var formElement = document.querySelector("form");
var formData = new FormData(formElement);
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
formData.append("serialnumber", serialNumber++);
request.send(formData);

Такой приём позволяет включать в форму дополнительную информацию, которая, например, не нуждается в демонстрации пользователю.

Вы так же можете отправлять файлы при помощи FormData. Просто включите <input> с типом file в форму.

<form enctype="multipart/form-data" method="post" name="fileinfo">
  <label>Your email address:</label>
  <input type="email" autocomplete="on" autofocus name="userid" placeholder="email" required size="32" maxlength="64" /><br />
  <label>Custom file label:</label>
  <input type="text" name="filelabel" size="12" maxlength="32" /><br />
  <label>File to stash:</label>
  <input type="file" name="file" required />
  <input type="submit" value="Stash the file!" />
</form>
<div></div>

Затем вы сможете отправить выбранный файл следующим образом:

var form = document. forms.namedItem("fileinfo");
form.addEventListener('submit', function(ev) {

  var oOutput = document.querySelector("div"),
      oData = new FormData(form);

  oData.append("CustomField", "This is some extra data");

  var oReq = new XMLHttpRequest();
  oReq.open("POST", "stash.php", true);
  oReq.onload = function(oEvent) {
    if (oReq.status == 200) {
      oOutput.innerHTML = "Uploaded!";
    } else {
      oOutput.innerHTML = "Error " + oReq.status + " occurred when trying to upload your file.<br \/>";
    }
  };

  oReq.send(oData);
  ev.preventDefault();
}, false);

Примечание: Если для формы указан атрибут method, то будет использован именно этот метод для отправки данных на сервер, а не метод, указанный в вызове open()

Вы так же можете добавить File или Blob непосредственно к объекту FormData:

data.append("myfile", myBlob, "filename. txt");

Метод append() принимает 3й опциональный параметр — название файла, которое добавляется в заголовок Content-Disposition при отправке на сервер. Если название файла не указано (или данный параметр не поддерживается) используется имя «blob».

Вы так же можете использовать FormData с jQuery:

var fd = new FormData(document.querySelector("form"));
fd.append("CustomField", "This is some extra data");
$.ajax({
  url: "stash.php",
  type: "POST",
  data: fd,
  processData: false,  
  contentType: false   
});

Что такое jQuery? Изучите самую популярную библиотеку JavaScript


Зачем изучать jQuery?

Библиотека jQuery по-прежнему остается одной из самых популярных библиотек в устаревшем коде. Его мантра: писать меньше, чтобы делать больше, делает ее по-прежнему популярной библиотекой, которую продолжают использовать сегодня.


«Меньше пиши, больше делай».

jQuery, вероятно, самая популярная и расширяемая библиотека JavaScript . Его используют такие крупные компании, как Netflix, Google, IBM и Microsoft.IT обычно является первой библиотекой, которую изучают разработчики JavaScript, потому что:

  • Его синтаксис для вызовов AJAX очень прост по сравнению с собственным XmlHttpRequest
  • Он предлагает сокращенных решений для общих задач JavaScript, таких как сортировка и фильтрация массивов
  • Многие другие библиотеки имеют зависимостей jQuery
  • Работает на стороне сервера узла

Последние достижения в мире внешнего интерфейса с помощью фреймворков JavaScript, таких как React и Angular, а также API выборки, делают jQuery немного длинноватым, но варианты использования все еще существуют в зависимости от того, что требуется для вашего проекта.

В настоящее время

Bootstrap и WordPress используют jQuery для создания своих компонентов и тем. Многие крупные технологические компании, хотя они и не могут начинать проекты с нуля с jQuery, по-прежнему опираются на те, которые начинались с jQuery. Так что лучше понять jQuery, чтобы включить его в свое резюме.


Синтаксис jQuery

Библиотека jQuery состоит из селекторов, обработчиков событий и помощников обхода DOM. Наряду с Ajax, jQuery делает практически все, что вам нужно, чтобы JavaScript делал для вашей веб-страницы.Есть три самых важных элемента , которые заставляют работать jQuery:

  1. $ () или jQuery () : $ () существует с единственной целью — сделать его так, чтобы вам не приходилось записывать jQuery () каждый раз, когда вы хотели бы использовать селектор.
  2. селектор : так мы выбираем наш элемент DOM (Document Object Model). Это элемент, в который мы хотим внести изменения при загрузке страницы.
  3. action () : это функция, которая сообщает DOM, что делать.Это может быть прослушиватель событий, это может быть эффект в зависимости от варианта использования.

Вместе простой оператор jQuery записывается как:

JavaScript · Bootstrap v5.0

Индивидуальный или составной

Плагины

могут быть включены по отдельности (с использованием отдельного файла Bootstrap js / dist / *. Js ) или все сразу с использованием bootstrap.js или минифицированного bootstrap.min.js (не включайте оба сразу).

Если вы используете сборщик (Webpack, Rollup…), вы можете использовать / js / dist / *.js файлов, готовых к UMD.

Использование Bootstrap в качестве модуля

Мы предоставляем версию Bootstrap, построенную как ESM ( bootstrap.esm.js и bootstrap.esm.min.js ), которая позволяет вам использовать Bootstrap в качестве модуля в вашем браузере, если ваши целевые браузеры поддерживают его. .

  
  

Несовместимые плагины

Из-за ограничений браузера некоторые из наших плагинов, а именно плагины Dropdown, Tooltip и Popover, не могут использоваться в теге

размещенных библиотек | Разработчики Google

Размещенные библиотеки Google - это стабильная, надежная, высокоскоростная, глобальная доступная сеть распространения контента для наиболее популярных, с открытым исходным кодом Библиотеки JavaScript.

Google работает напрямую с ключевыми заинтересованными сторонами по каждому проекту библиотеки. и принимает самые последние версии по мере их выпуска.

Библиотеки

Чтобы загрузить размещенную библиотеку, скопируйте и вставьте фрагмент HTML для этого библиотеки (показано ниже) на вашей веб-странице. Например, чтобы загрузить jQuery, вставьте сценарий < src = "https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"> фрагмент на вашей веб-странице.

Мы рекомендуем загружать библиотеки из CDN через HTTPS, даже если у вас собственный веб-сайт использует только HTTP. В настоящее время производительность высокая, а кеширование работает точно так же. Файлы CDN обслуживаются CORS а также Время-Разрешить заголовки и разрешено кешировать на 1 год.

цезийJS

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/cesiumjs/1.78/Build/Cesium/Cesium.js ">
сайт:
github.com/CesiumGS/cesium
версий:
1,78

D3.js

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/d3js/6.7.0/d3.min.js">
сайт:
d3js.org
версий:
6.7.0, 6.6.2, 6.6.1, 6.6.0, 6.5.0, 6.3.1, 6.2.0, 6.1.1, 5.16.0, 5.15.1, 5.15.0, 5.14.2, 5.12.0, 5.11.0, 5.9.7, 5.9.2, 5.9.0, 5.8.0, 5.7.0, 4.13.0, 3.5.17

Додзё

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/dojo/1.13.0/dojo/dojo.js">
сайт:
dojotoolkit.org
версий:
1.13.0, 1.12.3, 1.12.2, 1.12.1, 1.11.5, 1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.10.9, 1.10.8, 1.10.7, 1.10.6, 1.10.5, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.11, 1.9.10, 1.9.9, 1.9.8, 1.9.7, 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9.0, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.3, 1.8. 2, 1.8.1, 1.8.0, 1.7.12, 1.7.11, 1.7.10, 1.7.9, 1.7.8, 1.7.7, 1.7.6, 1.7.5, 1.7.4, 1.7.3, 1.7.2, 1.7.1, 1.7. 0, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.6, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.8, 1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.3, 1.2.0, 1.1.1

Ext Core

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/ext-core/3.1.0/ext-core.js">
сайт:
sencha.com/products/extcore
версий:
3.1.0, 3.0.0

Hammer.JS

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/hammerjs/2.0.8/hammer.min.js">
сайт:
hammerjs.github.io
версий:
2.0.8

Неопределенная наблюдаемая

фрагмент:
сайт:
https://github.com/material-motion/indefinite-observable-js
версий:
2.0.1, 1.0.1

jQuery

3.x фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js ">
2.x фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js">
1.x фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
сайт:
jquery.com
версий:
3.6.0, 3.5.1, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.2.1, 3.2.0, 3.1.1, 3.1.0, 3.0.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.4, 2.1.3, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0. 0, 1.12.4, 1.12.3, 1.12.2, 1.12.1, 1.12.0, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.4, 1.6.3, 1.6. 2, 1.6.1, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3. 0, 1.2.6, 1.2.3
примечание:
3.3.0, 2.1.2, 1.2.5 и 1.2.4 не размещены из-за их короткой и нестабильной жизни в дикой природе.

jQuery Mobile

фрагмент:
<ссылка rel = "stylesheet" href = "https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css">
сайт:
jquerymobile.ком
версий:
1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0
примечание:
Эта библиотека зависит от jQuery. Вы также должны загрузить jQuery перед загрузкой этого модуля.

пользовательский интерфейс jQuery

фрагмент:
<ссылка rel = "stylesheet" href = "https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
сайт:
jqueryui.com
версий:
1.12.1, 1.12.0, 1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.2, 1.9.1, 1.9.0, 1.8.24, 1.8.23, 1.8.22, 1.8.21, 1.8.20, 1.8.19, 1.8.18, 1.8.17, 1.8.16, 1.8.15, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.2, 1.8.1, 1.8.0, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.0, 1.5.3, 1.5.2
примечание:
Эта библиотека зависит от jQuery. Вы также должны загрузить jQuery перед загрузка этого модуля. Версия 1.8.3 не размещается из-за ее короткого life, а псевдоним 1.8.3 фактически загружает 1.8.4.

Движение материалов

фрагмент:
сайт:
https://github.com/material-motion/material-motion-js
версий:
0.1.0

MooTools

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/mootools/1.6.0/mootools.min.js">
сайт:
mootools.сеть
версий:
1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.1.2, 1.1.1
примечание:
Для версий 1.5.1 и ранее имя файла минифицированной версии называется mootools-yui-compressed.js вместо mintools.min.js.

Myanmar Tools

фрагмент:
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/myanmar-tools/1.2.1/zawgyi_detector.min.js "> <скрипт src = "https://ajax.googleapis.com/ajax/libs/myanmar-tools/1.2.1/zawgyi_converter.min.js">
сайт:
https://github.com/google/myanmar-tools/
рекомендуемые версии:
1.2.1
всех размещенных версий:
1.0.1
1.1.0
1.1,1
1.1.3
1.2.0
1.2.1

Опытный образец

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/prototype/1.7.3.0/prototype.js">
сайт:
prototypejs.org
версий:
1.7.3.0, 1.7.2.0, 1.7.1.0, 1.7.0.0, 1.6.1.0, 1.6.0.3, 1.6.0.2

скрипт.aculo.us

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js">
сайт:
script.aculo.us
версий:
1.9.0, 1.8.3, 1.8.2, 1.8.1
примечание:
Эта библиотека зависит от Prototype . Перед загрузкой этого модуля вы должны загрузить Prototype.

Шака Игрок

фрагмент:





сайт:
https://github.com/google/shaka-player/
рекомендуемые версии:
3.2.0, 3.1.2, 3.0.13, 2.5.23
всех размещенных версий:
3.2.0, 3.1.2, 3.0.13, 3.1.1, 3.0.12, 2.5.23, 3.1.0, 3.0.11, 2.5.22, 3.0.10, 3.0.9, 2.5.21, 3.0 .8, 2.5.20, 3.0.7, 2.5.19, 3.0.6, 2.5.18, 3.0.5, 2.5.17, 3.0.4, 2.5.16, 3.0.3, 2.5.15, 3.0.2 , 2.5.14, 3.0.1, 2.5.13, 3.0.0, 2.5.12, 2.5.11, 2.5.10, 2.5.9, 2.5.8, 2.5.7, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.5.0-beta3, 2.5.0-beta2, 2.5.0-beta, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.10, 2.2. 9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.1, 2.2.0, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.9, 2.0.8, 2.0.6, 1.6.5

SPF

фрагмент:
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/spf/2.4.0/spf.js ">
сайт:
youtube.github.io/spfjs
версий:
2.4.0, 2.3.2, 2.3.1, 2.3.0, 2.2.0, 2.1.2, 2.1.1, 2.1.0, 2.0.1, 2.0.0

SWFObject

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js">
сайт:
github.com / swfobject / swfobject
версий:
2.2, 2.1

three.js

фрагмент:
<скрипт src = "https://ajax.googleapis.com/ajax/libs/threejs/r84/three.min.js">
сайт:
threejs.org
версий:
r84, r83, r82, r81, r80, r79, r78, r77, r76, r75, r74, r73, r72, r71, r70, r69, r68, r67, r49

Загрузчик веб-шрифтов

фрагмент>
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js ">
сайт:
github.com/typekit/webfontloader
версий:
1.6.26, 1.6.16, 1.5.18, 1.5.10, 1.5.6, 1.5.3, 1.5.2, 1.5.0

Поиск и устранение неисправностей

Видите устаревшую версию? Убедитесь, что вы не используете ссылки "автоматическая версия", например / jqueryui / 1 / ... , но вместо этого используйте URL-адреса, относящиеся к точным версиям.Из-за опасений по поводу кеширования и отсутствия совместимости даже между второстепенными версиями у нас есть устарела и перестала обновлять псевдонимы автоматической версии некоторое время назад, поэтому они будут навсегда ссылаться на старую версию (чтобы не нарушать работу существующих сайтов, которые все еще их используют).

Если возникнут проблемы:

Как использовать jQuery с проектами SPFx

Жоао Феррейра 22 апреля 2020 г. Разработка, SharePoint 0 комментариев

jQuery - это библиотека JavaScript, которая помогла сформировать Интернет, который мы все знаем сегодня, хотя ее первый выпуск был 13 лет назад, и, несмотря на то, что теперь у нас есть доступ к другим мощным библиотекам, таким как React и Angular, jQuery все еще используется 80 % самых популярных сайтов в Интернете.

Со средой SharePoint вы можете использовать практически любую библиотеку JavaScript для создания своего приложения, однако вам нужно знать, как сделать их доступными в решении.

В этой статье я объясню вам, как добавить jQuery в ваши решения SPFx двумя разными способами.

Включить jQuery в качестве зависимости, используя генератор по умолчанию

Этот метод можно использовать в проектах, созданных с помощью нестандартного генератора, выполнив следующие действия:

  1. В вашем проекте SPFx разверните папку config
  2. Отредактируйте конфигурацию .json файл
  3. Найдите раздел externals и добавьте следующую зависимость
    "jquery": {
    «путь»: «https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js»,
    "globalName": "jQuery"
    }
     
  4. Откройте консоль в папке проекта и добавьте определения типов, выполнив следующую команду
     установка npm --save @ types / jquery 
  5. На вашем ts импорт файлов jQuery
     import * as $ from 'jquery'; 
  6. Чтобы протестировать использование jQuery в пустом проекте, замените код в методе рендеринга следующим:
    domElement.innerHTML = `
    SharePoint и сердечки; jQuery!

    Эта веб-часть SPFx использует jQuery $ {$. fn.jquery}

    `;

Примечание: На шаге 3 вы можете выбрать вместо этого локальную версию jQuery, все, что вам нужно сделать, это добавить файл JS в свой проект, в следующем примере jQuery был добавлен локально в папку js внутри папки src. .

"jquery": {
"путь": "./src/webparts/helloWorld/js/jquery.min.js",
"globalName": "jQuery"
}
 

Это позволит избежать получения URL-адреса внешнего CDN, указанного во всплывающем окне установки, и jQuery будет обслуживаться из Microsoft CDN вместе с веб-частью.

Создайте проект с помощью jQuery, используя генератор PnP SPFx Yeoman

Генератор PnP SPFx Yeoman расширяет стандартный генератор SPFx Yeoman от Microsoft, добавляя дополнительные возможности и инструменты, которые в противном случае необходимо было бы добавить в проект вручную.

Для оптимизации рабочего процесса разработки он расширяет возможности для проектов ReactJS и Knockout и поддерживает дополнительные фреймворки, такие как HandlebarsJS, Aurelia, VueJS и Angular Elements. Он также включает расширенные инструменты анализа кода и тестирования, которыми вы можете воспользоваться в процессе разработки.

Чтобы создать веб-часть SPFx с включенным jQuery, выполните следующие действия:

  1. Установите генератор PnP SPFx Yeoman
     установка npm -g @ pnp / generator-spfx 
  2. После установки запустить генератор
     года @ pnp / spfx 
  3. На панели выбора выберите Без рамки
  4. В библиотеках выберите jQuery и любую другую библиотеку, которую вы можете использовать
  5. Залейте все остальные опции в генератор
  6. После создания проекта откройте файл ts в папке src
  7. Импортируйте jQuery, добавив следующий импорт в свой код
     импорт $ из 'jquery' 
  8. Чтобы протестировать использование jQuery в пустом проекте, замените код в методе рендеринга следующим:
    domElement.															

Добавить комментарий

Ваш адрес email не будет опубликован.