logo

Kako pridobiti ime domene iz URL-ja v JavaScriptu

Kaj je URL?

A URL je drugo ime za a spletni naslov . Besedni URL je na primer Javatpoint.com. A URL lahko ustvarite tudi z naslovom IP (npr. 192.168.2.24 ). Večina potrošnikov pri spletnem iskanju navede naslov imena, saj si je imena lažje zapomniti kot številke.

Spletni brskalniki uporabljajo URL-ji vprašati spletne strežnike za določene strani. Spodaj je seznam a sintaksa URL-ja in format .

Sintaksa

 Scheme://prefix.domain:port/path/filename 

Parametri

Shema-

Določena je vrsta internetne storitve (na splošno se uporablja http ali https).

if else stavek v Javi

Predpona-

Vzpostavi domensko predpono (www je privzeto za http).

Domena-

Obravnava ime domene na internetu (npr. javatpoint.com ).

pristanišče -

Identificira vrata na gostitelju ( 80 je privzeto za http).

pot -

Ustvari pot na strani strežnika.

Ime datoteke -

Določa ime vira ali dokumenta.

Pridobivanje imena domene od a URL v javascript je lahko uporabna naloga iz različnih razlogov, kot je pridobivanje imena domene za spletno analitiko ali varnostne namene. V tem odgovoru bomo raziskali različne načine za pridobivanje imena domene iz URL-ja v javascriptu, skupaj z njihovimi prednostmi in slabostmi.

1. Uporaba objekta window.location

Najpreprostejši način za pridobivanje imena domene iz URL-ja v javascriptu je uporaba okno.lokacijski objekt , ki nudi informacije o trenutnem URL-ju. The okno.lokacija.gostitelj Lastnost nam poda ime domene, vključno s številko vrat, če je prisotna. Tukaj je primer:

 Const domain = window.location.host; 

Ta pristop ima prednost, da je preprost in zanesljiv. Vendar deluje samo za trenutni URL, tako da, če morate izvleči ime domene iz drugega URL-ja, boste morali uporabiti drugo metodo.

2. Uporaba konstruktorja URL-jev

Drug način za ekstrahiranje imena domene iz URL-ja v javascriptu je uporaba konstruktorja URL-jev. Je vgrajen objekt javascript, ki lahko razčleni niz URL-ja in omogoči dostop do njegovih različnih komponent. Tukaj je primer:

 Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname; 

Prednost konstruktorja URL-jev je, da lahko izvleče ime domene iz katerega koli veljavnega URL-ja, ne samo iz trenutnega. Vendar je na voljo samo v sodobnih brskalnikih, zato morate pred uporabo preveriti, ali je podprt.

3. Uporaba regularnih izrazov

Naprednejši pristop za pridobivanje imena domene iz URL-ja v javascriptu je uporaba regularnih izrazov. Regularni izrazi so močno orodje za ujemanje vzorcev in jih lahko uporabimo za ekstrahiranje imena domene iz URL-ja. Tukaj je primer:

 Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@
]+@)?(?:www.)?([^:/
]+)/im)[1]; 

Ta vzorec regularnega izraza se ujema z imenom domene v URL-ju in ne upošteva protokola ( http ali https ), uporabniško ime in geslo ter pot. Deluje tako, da išče prvo pojavitev zaporedja znakov, ki ne vključuje dvopičja, poševnice ali nove vrstice, pred katerim je izbirni protokol, uporabniško ime in geslo ter neobvezno 'www.' predpono. Metoda ujemanja vrne matriko, ki vsebuje celotno ujemanje in vse zajete skupine, zato moramo ekstrahirati drugi element (pri indeksu 1), da dobimo ime domene.

Ta pristop ima prednost, da je prilagodljiv in prilagodljiv različnim formatom URL-jev, vendar je tudi bolj zapleten in nagnjen k napakam, če vzorec regularnega izraza ni dovolj natančen.

4. Uporaba DOM

Nazadnje lahko tudi ekstrahiramo ime domene iz URL-ja v javascriptu z uporabo DOM . Ustvarimo lahko skriti sidrni element, ga nastavimo atribut href na URL, iz katerega želimo ekstrahirati ime domene, in nato preberemo lastnost imena gostitelja. Tukaj je primer:

 Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname; 

Prednost tega pristopa je, da ga je enostavno razumeti in izvajati, ustvarja pa tudi a element DOM , kar ima lahko nekatere posledice za delovanje, če morate to narediti večkrat.

Zaključek

Obstajajo različni načini za pridobivanje imena domene iz URL-ja v javascriptu, najboljši pristop pa je odvisen od vaših zahtev in omejitev. Če morate samo izvleči ime domene iz trenutnega URL-ja, uporabite okno.lokacijski objekt je najenostavnejša in najbolj zanesljiva metoda.