ЈаваСцрипт налог и водич за извршење

Дизајнирање ваше веб странице помоћу ЈаваСцрипта захтева пажњу према редоследу којим се ваш код појављује и да ли уносите код у функције или објекте, што све утиче на редослед у којем је код ради.

Локација ЈаваСцрипт-а на вашој веб страници

Пошто се ЈаваСцрипт на вашој страници извршава на основу одређених фактора, размотримо где и како додати ЈаваСцрипт веб страници.

У основи постоје три локације на које можемо да причврстимо ЈаваСцрипт:

  • Директно у главу странице
  • Директно у тело странице
  • Од руководиоца догађаја / слушаоца

Није битно да ли је ЈаваСцрипт унутар веб странице себе или у спољним датотекама повезаним са страницом. Такође није важно да ли су руковаоци догађајима тешко кодирани у страницу или их је сам ЈаваСцрипт додао (осим што их не могу покренути пре него што се додају).

Код директно на страници

Шта значи рећи да је ЈаваСцрипт директно у глави или телу странице? Ако код није приложен у функцији или објекту, налази се директно на страници. У овом се случају код покреће секвенцијално чим се датотека која садржи код довољно учитала да му се приступи.

instagram viewer

Код који се налази у функцији или објекту покреће се само кад се та функција или објект позива.

У основи, то значи да ће се било који код унутар главе и тела ваше странице који није у функцији или објекту покренути док се страница учитава - чим страница учитао се довољно за приступ том коду.

Тај последњи залога је важан и утиче на редослед којим постављате свој код на страницу: сваки код смештен директно на страници који треба да комуницира са елементима унутар странице после елементи на страници о којој је зависно.

Уопштено, то значи да ако користите директни код за интеракцију са садржајем странице, такав код треба да буде постављен на дну тела.

Код унутар функција и објеката

Код унутар функција или објеката покреће се кад год се та функција или објект позива. Ако се зове из кода који се налази директно у глави или телу странице, тада се налази на месту наредба извршења је ефективно тачка у којој се функција или објект из директног позива код.

Код додељен руководиоцима догађаја и слушаоцима

Додјељивање функције руковаоцу догађаја или слушаоцу не резултира функцијом покретања у мјесту у којем је додијељена - под условом да сте у ствари додјела саму функцију и не ради функцију и додељивање враћене вредности. (То је разлог зашто углавном не видите () на крају имена функције када је додељен догађају од додавања заграде управљају функцијом и додјељују враћену вриједност, а не додјељивање функције сама.)

Функције приложене за обрађиваче догађаја и слушаоце покрећу се када се покрене догађај за који су придружени. Већина догађаја покрећу посетиоци који комуницирају са вашом страницом. Постоје изузеци, међутим, као што је учитавање догађај на самом прозору, који се активира када се страница заврши са учитавањем.

Функције придружене догађајима на елементима странице

Све функције прикачене за догађаје на елементима унутар саме странице покрећу се у складу са поступцима сваког појединог посетиоца - овај се код покреће само када се догоди одређени догађај да га покрене. Из тог разлога, није важно да ли се код никада не покреће за посетиоца, јер он поседује очигледно интеракцију која га захтева.

Све ово, наравно, претпоставља да је ваш посетилац приступио вашој страници помоћу прегледача који има ЈаваСцрипт омогућено

Прилагођени скрипти за посетиоце

Неки корисници су инсталирали посебне скрипте које могу комуницирати са вашом веб страницом. Те се скрипте покрећу након вашег директног кода, али пре него што било који код прикључен на руковаоца догађаја.

Пошто ваша страница не зна ништа о тим корисничким скриптама, нема начина да знате шта би ове спољне скрипте могле да ураде - могли би надјачати било који или сав код који сте приложили различитим догађајима којима сте додељени обрада. Ако овај код надјача обрађиваче догађаја или слушатеље, одговор на окидаче догађаја покренуће код који је дефинисао корисник уместо вашег кода или као додатак њему.

Полазна почетна тачка овдје је да не можете претпоставити да ће код дизајниран за покретање након што се страница учита допустити да ради онако како сте је дизајнирали. Поред тога, имајте на уму да неки прегледачи имају опције које омогућавају онемогућавање неких алата за обраду догађаја унутар претраживача, у којем случају одговарајући окидач догађаја неће покренути одговарајући руковатељ догађаја / слушаоца у вашем код.