Эта статья дает вам соответствующие знания о JavaScript. В ней в основном рассматриваются связанные с операциями BOM, включая общие события оконных объектов, механизмы выполнения JavaScript и т. д. Давайте посмотрим на это вместе, я надеюсь, что это будет полезно для всех. Общие события объекта окна
Событие загрузки окна:
- window.onload: событие загрузки страницы. Это событие срабатывает, когда содержимое документа полностью загружается (включая изображения, файлы сценариев, файлы CSS и т. д.) и вызывается функция обработки.
- document.addEventListener('DOMContentLoaded', function(){}): только после завершения загрузки DOM, исключая таблицы стилей, изображения, Flash и
события совместимости для настройки размера окна:
- window.onresize: настройка события загрузки размера окна
window Метод .open() можно использовать для перехода к указанному URL-адресу или для открытия нового окна браузера.
- Этот метод получает 4 параметра: URL-адрес для загрузки, целевое окно, строку символов и представление нового окна. в истории браузера. Представлять ли логическое значение загруженной в данный момент страницы
window.open("http://www.wrox.com/", "wroxWindow","height=400,width=400,top=10,left=10,resizable=yes");
таймер:
- setInterval(обработчик: любой, таймаут?: длинный, аргументы…: любой): цикл
- ClearInterval(дескриптор?: длинный): отменить setInterval
- setTimeout(обработчик: любой, таймаут?: длинный , аргументы…: любые) : Одноразовый
- ClearTimeout(handle?: long): Отменить setTimeout
window.scroll(x, y)
window.scrollTo(x, y): Оба варианта используются одинаково для изменения положения по горизонтали и вертикальные полосы прокрутки, при условии, что они должны быть Полоса прокрутки находится на странице
window.scrollBy(x, y): кумулятивная прокрутка полосы прокрутки, положительные числа идут вниз, отрицательные числа идут вверх window.scrollBy(0, 10) : при вызове каждые 100 миллисекунд полоса прокрутки перемещается на 10 пикселей.
window.getComputedStyle(elem, pseudo-class)
диалоговое окно
- alert
- alert("строка подсказки")
- выводит всплывающее окно с предупреждением и отображает текст строки подсказки в окне предупреждения
- . («строка подсказки»)
- отображает окно подтверждения и подтверждает. Строка подсказки отображается в поле.
- Когда пользователь нажимает кнопку «Подтвердить», она возвращает true и нажимает «Отменить», чтобы вернуть ложное
- приглашение
- («строка подсказки»). , «значение по умолчанию»)
- отображает поле ввода и отображает символ подсказки в строке ввода, ожидая ввода пользователя.
- Когда пользователь нажимает кнопку «Подтвердить», ввод пользователя возвращается при нажатии кнопки «Отмена». , возвращается нулевое значение.
Механизм выполнения JavaScript
запускает js-скрипт и помещает js-код в стек выполнения в режиме синхронного выполнения. При запуске стека выполнения он сталкивается с асинхронным кодом JS (события, таймеры, ajax, загрузка ресурсов). , error) помещается в веб-API (очередь задач). Когда код в стеке выполнения завершен, перейдите в очередь задач и возьмите первый из них для выполнения. После выполнения получите один из очереди задач и выполните его. выполнять его повторно (цикл событий) до тех пор, пока выполнение в очереди задач не завершится.
Объект местоположения
window.history используется для получения URL-адреса текущей страницы и перенаправления браузера на новую страницу.
http://www.itcast.cn:80/index.html?name=andy&age=1#link
http: протокол связи www.itcast.cn: имя домена 80: индекс порта.html: путь?name=andy&age=1: параметр #link фрагмент: точка привязки,
атрибут объекта ссылки:
- href*: получить или установить весь URL-адрес
- хоста: вернуть имя хоста (имя домена)
- имя хоста: установить или вернуть имя хоста текущего сообщения
- URL: вернуть номер порта
- pathname: вернуть поиск пути
- *: вернуть хэш параметра
- : вернуть фрагмент (содержимое после #)
- протокол: установить или вернуть метод объекта протокола
текущего URL-адреса:
- назначить: как и href, вы можете перейти на страницу (также называемую страницей перенаправления)
- заменить: заменить текущую страницу, поскольку история не записывается, вы не можете вернуться к
- перезагрузке
страницы - : перезагрузить страницу, что эквивалентно
объекту навигатора
функции обновления.
navigator: объект, который инкапсулирует информацию о конфигурации браузера.
- cookieEnabled. Включены ли файлы cookie в текущем
- файле cookie браузера: объем памяти на клиенте небольшой, разные браузеры имеют разные размеры, и ключ можно сохранить навсегда.
- Недостатки: особенно.
Плагины - easy Leak с личной информацией
- инкапсулируют всю информацию о плагинах, установленных браузером.
- Имя браузера userAgent, номер версии ядра и другие последовательности символов
- onLine. Подключен ли компьютер к Интернету?
- платформа возвращает платформу операционной системы, на которой работает браузер.
- appCodeName возвращает кодовое имя браузера.
- appName возвращает имя браузера.
- appVersion возвращает платформу и информацию о версии
объекта истории браузера.
window.history объект включает коллекцию истории браузера (url)
. - Функция: History.back()
- Функция браузера вперед: History.forward()
- Ввод определенной страницы в историю:
объект экрана History.go() Объект
window.screen содержит информацию о пользователе
// экран: получить размер разрешения устройства отображения // Полное разрешение: screen.widht/height
// Как определить тип клиента, совместимого со всеми шириной клиента // Большой экран, средний экран, маленький экран, ультрамаленький экран // lg md sm xs
// ТВ, ПК, планшетный телефон
//Ширина >= 1200 >=992 >= 768 < 768
//Оставшееся разрешение после удаления панели задач // screen.availHeight/availWidth
- Доступная ширина экрана: screen.availWidth
- Доступная высота экрана: screen.availHeight
- Высота экрана: screen.Height
- Ширина экрана: screen.Width
- Количество цифр цвета экрана : смещение элемента colorDepth
Серия смещений
может динамически получать положение (смещение), размер и т. д. элемента.
- Получить расстояние от элемента до положения родительского элемента.
- ps: Возвращаемое
- значение
. - value не имеет единицы измерения.
Часто используемые атрибуты серии offset:
- element offsetParent: возвращает родительский элемент с позиционированием в качестве элемента. Если родительский элемент не позиционирован, возвращается тело
- element.offsetTop*: возвращает смещение
. - элемента над позиционированным родительским элементом.
- element.offsetLeft*: Возвращает относительную полосу элемента. Слева от позиционированного родительского элемента.
- element.offsetWidth: Возвращает ширину, включая отступы, границу и содержимое. , без единицы измерения
- element.offsetHeight: возвращает собственную высоту, включая отступы, границу и содержимое, без единицы
измерения
клиент визуальной области элемента. Серия
динамически получает общие атрибуты,
такие как размер границы и размер элемента элементов
: - element.clientTop: размер верхняя граница элемента
- element.clientLeft: размер левой границы элемента
- element.clientWidth*: возвращает собственную ширину, включая отступы и область содержимого, исключая границу, без единицы измерения
- element.clientHeight*: возвращает высоту сам, включая отступы и область содержимого, исключая границы, без прокрутки единичного
элемента. Серия прокрутки
динамически
получает размер и элементов.
- расстояние влево, без единицы измерения.
- element.srcollWidth: возвращает фактическую ширину, без рамки, без единицы измерения.
- element.srcollHeight: возвращает фактическую высоту, не содержит границ и не имеет полосы
прокрутки. При прокрутке будет вызвано событие onscroll.
для просмотра расстояния прокрутки полосы прокрутки.
window.pageXOffset/pageYOffset
IE8 и ниже несовместимы с document.body/documentElement.scrollLeft/scrollTop
Совместимость сбивает с толку и занимает много времени. Добавьте два значения, потому что это невозможно. чтобы два значения имели значения одновременно , метод совместимости инкапсуляции найдите расстояние качения колеса полосы прокрутки getScrollOffet()
/*
Инкапсулирует метод для получения расстояния прокрутки полосы прокрутки. Возвращает: x: расстояние прокрутки горизонтальной полосы прокрутки y: расстояние прокрутки вертикальной полосы прокрутки */function getScrollOffet(){.
если (window.pageXOffset) {
return {//{} объекта должен быть после ключевого слова, иначе система автоматически добавит его, и возвращаемое значение будет неопределенным;
х: окно.pageXOffset,
y: window.pageYOffset }
}else{//Совместимо с IE8 и более ранними версиями return {
x : document.body.scrollLeft + document.documentElement.scrollLeft,
y : document.body.scrollTop + document.documentElement.scrollTop }
}}
Просмотр размера области просмотра.
window.innerWidth/innerHeight
несовместим с IE8 и более ранними версиями (примечание: ширина и высота здесь не включают высоту строки меню, панели инструментов, полосы прокрутки и т. д.) document.documentElement.clientWidth/clientHeight
в стандартном режиме, любой браузер совместим с document.body.clientWidth/clientHeight
Это метод совместимости инкапсуляции браузера, подходящий для странных ситуаций. Возвращает размер области просмотра браузера. getViewportOffset()
/*Encapsulation возвращает возвращаемое значение размера области просмотра браузера. :
w: ширина области просмотра h: высота области просмотра*/function getViewportOffset(){
если (window.innerWidth) {
возвращаться {
w : window.innerWidth,
ч: window.innerHeight }
}else{ //Совместимость с браузерами IE8 и более ранних версий if(document.compatMode == 'BackCompat'){
//Возврат { в странном режиме рендеринга
w : document.body.clientWidth,
ч: document.body.clientHeight }
}еще{
//Стандартный режим return {
w : document.documentElement.clientWidth,
ч: document.documentElement.clientHeight }
}
}}console.log(document.compatMode); // Странный режим BackCompat // Стандартный режим CSS1Compat
для просмотра геометрического размера элемента. Новое понимание
domElement.getBoundingClientRect()
в ES5 обеспечивает хорошую совместимость, возвращая объект, содержащий left; , Атрибуты, такие как верхний, правый и нижний. Левый и верхний представляют координаты X и Y верхнего левого угла элемента. Правый и нижний представляют координаты X и Y нижнего правого угла элемента. Атрибуты ширины не реализованы в старых версиях IE. Возвращаемые результаты не отображаются в режиме реального времени. '
// Получаем позицию элемента в документе function getElementPosition(target){.
//Поддержка метода BoundingClientRect() if(0 && target.getBoundingClientRect){
вар pos = target.getBoundingClientRect();
return { // Когда полоса прокрутки перемещается, добавьте позицию x полосы прокрутки: pos.left + Math.max(document.body.scrollLeft, document.documentElement.scrollLeft),
y : pos.top + Math.max(document.body.scrollTop, document.documentElement.scrollTop)
}
} еще {
вар поз = {
слева: 0,
верх : 0
}
вар _elm = цель;
в то время как (target.offsetParent) {
if(_elm == target){//Суммируем левое и верхнее значение в первый раз
pos.left += target.offsetLeft;
pos.top += target.offsetTop;
}еще{
pos.left += target.offsetLeft + target.clientLeft;
pos.top += target.offsetTop + target.clientTop;
}
// цель переназначает target = target.offsetParent;
}
return { x : pos.left, y : pos.top}
}}
Строка состояния
свойства
- defaultStatus изменяет статус отображения по умолчанию строки состояния браузера
- временно изменяет
положение окна
отображения статуса браузера - IE
- screenLeft объявляет координату x верхнего левого угла окна
- screenTop объявляет координату y верхнего левого угла окна
- document.body.screenLeft
- document. documentElement.screenLeft объявляет количество пикселей, на которое текущий документ прокрутился вправо
- document.body.screenTop
- document.documentElement.screenTop объявляет количество пикселей, на которое текущий документ прокрутился вправо
- ! IE
- screenX объявляет координату x верхнего левого угла окна.
- screenY объявляет верхний левый угол окна. Координата y
- pageXOffset объявляет количество пикселей, на которые текущий документ прокрутил вправо.
- pageYOffset объявляет количество пикселей, на которое текущий документ прокрутился вправо.
- FF
- InternalHeight возвращает высоту области отображения документа в
- окне. InternalWidth возвращает ширину области отображения документа в окне.
OuterWidth возвращает внешнюю ширину окна. - OuterHeight Возвращает внешнюю высоту
- окна
.
открыватель и другие атрибуты
- могут реализовывать связь между кросс-формами под одним и тем же доменным именем. Форма должна содержать открыватель другой формы.
- Closed возвращает true, когда имя текущего окна задает
- или возвращает имя окна
- . возвращает имя текущего окна.