Što je URL?
A URL je drugo ime za a web adresa . Na primjer, URL temeljen na riječi je Javatpoint.com. A URL također se može kreirati pomoću IP adrese (npr. 192.168.2.24 ). Većina potrošača daje adresu imena kada provode online pretraživanje jer je imena lakše zapamtiti od brojeva.
Web preglednici koriste URL-ovi pitati web poslužitelje za određene stranice. Ispod je popis a sintaksa URL-a i format .
Sintaksa
Scheme://prefix.domain:port/path/filename
Parametri
Shema-
Određuje se vrsta internetske usluge (općenito se koristi http ili https).
Prefiks-
Uspostavlja prefiks domene (www je zadani za http).
mylivecricket u
Domena-
Govori o nazivu domene na internetu (npr. javatpoint.com ).
Luka -
Identificira port na hostu ( 80 je zadana za http).
Staza -
Stvara put na strani poslužitelja.
Naziv datoteke -
Identificira naziv resursa ili dokumenta.
Dobivanje naziva domene od a URL u javascript može biti koristan zadatak iz raznih razloga, kao što je izdvajanje naziva domene za web analitiku ili sigurnosne svrhe. U ovom ćemo odgovoru istražiti različite načine izdvajanja naziva domene iz URL-a u javascriptu, zajedno s njihovim prednostima i manama.
1. Korištenje objekta window.location
Najjednostavniji način da dobijete naziv domene iz URL-a u javascriptu je korištenje prozor.lokacijski objekt , koji pruža informacije o trenutnom URL-u. The prozor.lokacija.domaćin svojstvo nam daje naziv domene, uključujući broj priključka ako postoji. Evo primjera:
Const domain = window.location.host;
Ovaj pristup ima prednost što je jednostavan i pouzdan. Međutim, radi samo za trenutni URL, pa ako trebate izdvojiti naziv domene iz drugog URL-a, morat ćete upotrijebiti drugu metodu.
2. Korištenje URL konstruktora
Drugi način izdvajanja naziva domene iz URL-a u javascriptu je korištenje URL konstruktora. To je ugrađeni javascript objekt koji može analizirati URL niz i omogućiti pristup njegovim različitim komponentama. Evo primjera:
Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname;
URL konstruktor ima prednost jer može izdvojiti naziv domene iz bilo kojeg važećeg URL-a, a ne samo iz trenutnog. Međutim, dostupan je samo u modernim preglednicima, pa ćete prije korištenja morati provjeriti je li podržan.
3. Korištenje regularnih izraza
Napredniji pristup izdvajanju naziva domene iz URL-a u javascriptu je korištenje regularnih izraza. Regularni izrazi moćan su alat za podudaranje uzoraka i možemo ih koristiti za izdvajanje naziva domene iz URL-a. Evo primjera:
Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@ ]+@)?(?:www.)?([^:/ ]+)/im)[1];
Ovaj uzorak regularnog izraza odgovara nazivu domene u URL-u, zanemarujući protokol ( http ili https ), korisničko ime i lozinka te put. Funkcionira tako da traži prvo pojavljivanje niza znakova koji ne uključuje dvotočku, kosu crtu ili novi redak, ispred kojih stoji izborni protokol, korisničko ime i lozinka, i izborno 'www.' prefiks. Metoda podudaranja vraća niz koji sadrži cijelo podudaranje i sve snimljene grupe, tako da moramo izdvojiti drugu stavku (na indeksu 1) da bismo dobili naziv domene.
Prednost ovog pristupa je što je fleksibilan i prilagodljiv različitim formatima URL-ova, ali je također složeniji i podložniji pogreškama ako uzorak regularnog izraza nije dovoljno precizan.
4. Korištenje DOM-a
Konačno, također možemo izdvojiti naziv domene iz URL-a u javascriptu pomoću DOM . Možemo stvoriti skriveni element sidra, postaviti ga href atribut na URL iz kojeg želimo izdvojiti naziv domene, a zatim pročitajte svojstvo naziva hosta. Evo primjera:
Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname;
Ovaj pristup ima prednost što ga je lako razumjeti i implementirati, ali također stvara DOM element , što bi moglo imati neke implikacije na izvedbu ako to morate ponavljati.
Zaključak
Postoje različiti načini izdvajanja naziva domene iz URL-a u javascriptu, a najbolji pristup ovisi o vašim zahtjevima i ograničenjima. Ako samo trebate izdvojiti naziv domene iz trenutnog URL-a, pomoću prozor.lokacijski objekt je najjednostavniji i najpouzdaniji način.