Цели обучения:
- Освоите концепцию API и веб-API
- Освоите распространенный способ вызова API, предоставляемый браузером
- Может разрабатывать общие функции взаимодействия со страницей с помощью API
- Уметь использовать поисковую систему для решения проблем
Веб-API
Концепция API API (Интерфейс прикладного программирования)-это предопределенная функция, которая направлена на предоставление возможности прикладной программе и разработчикам получать доступ к набору подпрограмм, основанных на определенном программном или аппаратном обеспечении, без доступа к исходному коду или понимания деталей внутреннего рабочего механизма.
- Любой язык разработки имеет свой собственный API
- Характеристика ввода и вывода (ввода/вывода) API
- Как использовать API (консоль. Журнал())
Концепция веб-API
Набор API (BOM и DOM), предоставляемых браузером для работы с функциями браузера и элементами страницы. Веб-API здесь относится к API, предоставляемому браузером (набор методов). Веб-API имеет другие значения в последующих уроках
Освоите распространенный способ вызова API, предоставляемый браузером
MDN-Веб-API
Состав JavaScript
ECMAScript – ядро JavaScript
Определена спецификация синтаксиса JavaScript Ядро JavaScript описывает базовый синтаксис и тип данных языка. ECMAScript-это набор стандартов, который определяет, что стандарты языка не зависят от конкретной реализации
СПЕЦИФИКАЦИЯ – объектная модель браузера
Набор API для работы с функциями браузера Вы можете управлять окнами браузера через BOOM, такими как всплывающее окно, управление переходом браузера, получение разрешения и т. Д
DOM – Объектная модель документа
Набор API для работы с элементами страницы DOM может рассматривать HTML как дерево документов, а узлами в дереве можно управлять с помощью API, предоставляемого Dom
БОМ
Концепция спецификации BOM (объектная модель браузера) относится к объектной модели браузера, которая обеспечивает независимую от содержимого структуру объектов, которая может взаимодействовать с окном браузера. Спецификация состоит из нескольких объектов, среди которых объект окна, представляющий окно браузера, является объектом спецификации верхнего уровня, а другие объекты являются подобъектами объекта. Некоторые из наших операций в браузере могут быть запрограммированы с помощью спецификации, например: обновить браузер, назад, вперед, ввести URL-адрес в браузере и т.д.
Окно объекта верхнего уровня спецификации
Окно-это объект верхнего уровня браузера. При вызове свойств и методов в окне вы можете опустить окно Примечание: следующим специальным атрибутом окна является window.name
Диалоговое окно
- предупреждение()
- подсказка()
- подтвердите()
Событие загрузки страницы
загрузка
window.onload = function () {
//When the page is loaded and executed
//When the page is fully loaded (including images, script files, CSS files, etc.) execution
}onunload
window.onunload = function () {
//Execute when the user exits the page
}таймер
Settimeout() и cleartimeout() Выполняют указанную функцию только один раз по истечении указанного количества миллисекунд
//Create a timer, execute it after 1000 milliseconds, and return the indicator of timer
var timerId = setTimeout(function () {
console.log('Hello World');
}, 1000);
//Cancel timer execution
clearTimeout(timerId);Setinterval() и clearinterval()
Функция, вызываемая в определенное время, которая может быть вызвана за заданный промежуток времени (в миллисекундах)
//Create a timer that is called every 1 second
var timerId = setInterval(function () {
var date = new Date();
console.log(date.toLocaleTimeString());
}, 1000);
//Cancel timer execution
clearInterval(timerId);Объект местоположения
Объект “Местоположение” является свойством объекта “Окно”. Вы можете опустить местоположение объекта окна, можете получить или задать URL-адрес адресной строки браузера
URL-АДРЕС
Единый локатор ресурсов (URL)
Состав URL-адреса
схема://хост:порт/путь?запрос#фрагмент Схема: протокол связи
Хост: хост
Порт: номер порта
Путь: путь
Запрос: запрос
Фрагмент: информационный фрагмент
Кто является членами location?
- Использование консоли Chrome для просмотра
- Проверьте MDN MDN
член
- назначить()/перезагрузить()/заменить()
- хэш/хост/имя хоста/поиск/href……
Объект истории
- назад()
- вперед()
- иди()
Объект навигатора
- Агент пользователя
Агент пользователя может судить о типе пользовательского браузера
- платформа
С помощью платформы мы можем судить о типе системной платформы, на которой расположен браузер
С помощью платформы мы можем судить о типе системной платформы, на которой расположен браузер
Объектная модель документа (DOM) – это стандартный программный интерфейс, рекомендованный W3C для работы с расширяемым языком разметки. На веб – странице объекты, организующие страницу (или документ), организованы в древовидную структуру. Стандартная модель, используемая для представления объектов в документе, называется dom. Историю объектной модели документа можно проследить до “войны браузеров” между Microsoft и Netscape в конце 1990-х годов. Чтобы выжить в JavaScript и JScript, обе стороны предоставили браузерам мощные функции в больших масштабах. Microsoft добавила много эксклюзивных вещей в технологию веб-страниц, включая VBScript, ActiveX и собственный формат DHTML Microsoft, что делает многие веб-страницы невозможными для обычного отображения с использованием платформ и браузеров, отличных от Microsoft. ДОМ-это шедевр, который был сварен в то время.
DOM также называется моделью дерева документов
- Документ: веб-страницу можно назвать документом
- Узел: все содержимое веб-страницы является узлом (метка, атрибут, текст, комментарий и т.д.)
- Элементы: метки на веб-страницах
- Атрибуты: атрибуты для меток
Общие операции ВНУТРЕННИХ
- Получить элементы
- Динамическое создание элементов
- Работать с элементом (задавать его свойства или вызывать его методы)
Событие (когда нужно выполнить соответствующую операцию)
Получить элементы страницы
getElementById
var div = document.getElementById('main');
console.log(div);
//The data type obtained is htmldivelement, and the objects are all of type
// HTMLDivElement <-- HTMLElement <-- Element <-- Node <-- EventTargetПолучить элементы по имени тега
var divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
var div = divs[i];
console.log(div);
}Получить элементы по имени*
var inputs = document.getElementsByName('hobby');
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
console.log(input);
}Получить элементы по имени класса
var mains = document.getElementsByClassName('main');
for (var i = 0; i < mains.length; i++) {
var main = mains[i];
console.log(main);
}Получение элементов из селектора
var text = document.querySelector('#text');
console.log(text);
var boxes = document.querySelectorAll('.box');
for (var i = 0; i < boxes.length; i++) {
var box = boxes[i];
console.log(box);
}резюме
мастер
понимать
Событие
Событие: механизм триггерного ответа Интерфейс события представляет любое событие, происходящее в DOM, некоторые из которых генерируются пользователем (например, событие мыши или клавиатуры), в то время как другие генерируются API.
Три элемента мероприятия
- Источник события: событие запуска элемента (бытия)
- Тип события: метод запуска события (например, щелчок мыши или щелчок клавиатуры)
- Обработчик событий: Код (в форме функции), выполняемый после запуска события
Основное использование событий
var box = document.getElementById('box');
box.onclick = function() {
Console. Log ('the code will be executed after the box is clicked ');
};Операция с атрибутом
Свойства элементов, не имеющих формы
href, заголовок, идентификатор, src, имя класса
var link = document.getElementById('link');
console.log(link.href);
console.log(link.title);
var pic = document.getElementById('pic');
console.log(pic.src);Внутренний текст и внутренний текст
var box = document.getElementById('box');
Box. InnerHTML = 'I'm text < p > I'll be born as a label < / P >';
console.log(box.innerHTML);
Box. InnerText = 'I am text < p > I will not generate as label < / P >';
console.log(box.innerText);Escape-символ HTML “”” & & < меньше, чем
≫ // greater than
Космос © ©
Свойства элемента формы
- Значение используется для получения содержимого большинства элементов формы (кроме опции).
- Введите, чтобы получить тип входного тега (поле ввода или флажок и т.д.)
- Имущество для инвалидов
- Установлен флажок выбрать свойства
- Выбранное раскрывающееся меню выберите пункт Свойства
Действие пользовательского атрибута
- Getattribute() возвращает атрибут в строке метки
- Setattribute() задает атрибут в строке метки
- Removeattribute() удаляет атрибут в строке метки
- Отличие от элемента. Атрибут: вышеуказанные три метода используются для получения любого встроенного атрибута.
Стиль работы
var box = document.getElementById('box');
box.style.width = '100px';
box.style.height = '100px';
box.style.backgroundColor = 'red';Операция с именем класса
var box = document.getElementById('box');
box.className = 'clearfix';Три способа создания элементов
документ.запись()
Document. Write ('the newly set content < p > tag can also generate < / P > ');innerHTML
var box = document.getElementById('box');
Box. InnerHTML = 'new content < p > new label < / P >';document.createЭлемент()
var div = document.createElement('div');
document.body.appendChild(div);Проблемы с производительностью
- Метод innerHTML должен избегать многократного использования в цикле, поскольку он может анализировать строки.
- Он может быть заменен строками или массивами, а затем установлен в innerHTML
- После оптимизации производительность аналогична производительности document.createelement
Работа узла
var body = document.body;
var div = document.createElement('div');
body.appendChild(div);
var firstEle = body.children[0];
body.insertBefore(div,firstEle);
body.removeChild(firstEle);
var text = document.createElement('p');
body.replaceChild(text, div);Иерархия узлов
Сосредоточьтесь на атрибуте “родитель-потомок”, объяснении рисунка атрибута brother
var box = document.getElementById('box');
console.log(box.parentNode);
console.log(box.childNodes);
console.log(box.children);
console.log(box.nextSibling);
console.log(box.previousSibling);
console.log(box.firstChild);
console.log(box.lastChild);
Будьте осторожны Разница между дочерними узлами и дочерними узлами заключается в том, что дочерние узлы получают дочерние узлы, а дочерние элементы получают дочерние элементы Nextsibling и previoussibling получают узлы, а атрибуты, соответствующие элементам, являются nexterelementsibling и previouselementsibling получают элементы
резюме
Работа узла, способ
Иерархия узлов, атрибуты
Подробное объяснение событий
Три способа регистрации/удаления событий
var box = document.getElementById('box');
box.onclick = function () {
Console. Log ('click to execute ');
};
box.onclick = null;
box.addEventListener('click', eventCode, false);
box.removeEventListener('click', eventCode, false);
box.attachEvent('onclick', eventCode);
box.detachEvent('onclick', eventCode);
function eventCode() {
Console. Log ('click to execute ');
}Три этапа мероприятия
- Фаза захвата
- Текущая целевая фаза
- фаза пузырьков Объект события. Свойство Eventphase позволяет просматривать стадию, на которой запускается событие
Свойства и методы объектов событий
- Событие.тип получить тип события
- Clientx/клиенты поддерживают все браузеры, расположение окон
- Pagex/pagey IE8 ранее не поддерживался, расположение страницы
- Event.target | event.srcelement используется для получения элемента, который вызвал событие
- Событие. Функция Preventdefault() отменяет поведение по умолчанию
Как предотвратить распространение событий
- Событие в стандартном режиме. Остановка распространения();
- Событие.cancelbubble в более низкой версии IE; устарело в стандарте
Общие события с мышью и клавиатурой
- Срабатывает при отпускании кнопки мыши onmouseup
- Кнопка мыши Onmousedown нажмите триггер
- Триггер OnMouseMove
- При нажатии клавиши нажмите клавишу для запуска
- Клавиша Onkeydown на клавиатуре левый триггер