Mi az URL?
A URL egy másik neve a webcím . Például egy szóalapú URL a Javapoint.com. A URL IP-címmel is létrehozható (pl. 192.168.2.24 ). A legtöbb fogyasztó megadja a név címét az online keresés során, mert a neveket könnyebb megjegyezni, mint a számokat.
A webböngészők használják URL-ek hogy bizonyos oldalakat kérjen a webszerverektől. Az alábbiakban felsoroljuk a Az URL szintaxisa és formátum .
Szintaxis
Scheme://prefix.domain:port/path/filename
Paraméterek
Rendszer-
Az internetszolgáltatás típusa meg van adva (általában http vagy https használatban van).
Az android process acore folyamatosan leáll
előtag-
Létrehoz egy tartomány előtagot (a www a http alapértelmezett értéke).
Tartomány-
Az interneten található domain nevet tárgyalja (pl. javatpoint.com ).
Kikötő -
Azonosítja a portot a gazdagépen ( 80 a http alapértelmezett értéke).
Pálya -
Ez létrehoz egy elérési utat a szerver oldalon.
Fájl név -
Azonosítja egy erőforrás vagy dokumentum nevét.
A domain név lekérése a URL ban ben javascript különféle okokból hasznos feladat lehet, például a domain név kibontása webelemzési vagy biztonsági okokból. Ebben a válaszban megvizsgáljuk a domain név URL-ből való kinyerésének különböző módjait javascriptben, valamint ezek előnyeit és hátrányait.
1. A window.location objektum használata
A legegyszerűbb módja a domain név lekérésének egy URL-ből javascriptben a ablak.hely objektum , amely információkat nyújt az aktuális URL-ről. A window.location.host tulajdonság megadja nekünk a domain nevet, beleértve a portszámot is, ha van. Íme egy példa:
Const domain = window.location.host;
Ennek a megközelítésnek az az előnye, hogy egyszerű és megbízható. Ez azonban csak az aktuális URL-hez működik, így ha egy másik URL-ről kell kivonnia a domain nevet, akkor más módszert kell használnia.
2. Az URL konstruktor használata
Egy másik módja annak, hogy a tartománynevet kinyerjük az URL-ből a javascriptben, az URL konstruktor használata. Ez egy beépített javascript objektum, amely képes elemezni egy URL-karakterláncot, és hozzáférést biztosít annak különböző összetevőihez. Íme egy példa:
Consturl = new URL('https://www.example.com/path/to/file.html'); Const domain = url.hostname;
Az URL-konstruktornak megvan az az előnye, hogy nem csak az aktuális URL-ből, hanem bármely érvényes URL-ből is ki tudja bontani a tartománynevet. Azonban csak a modern böngészőkben érhető el, ezért használat előtt ellenőriznie kell, hogy támogatott-e.
Java szkenner következő
3. Reguláris kifejezések használata
Egy fejlettebb módszer a domain név URL-ből való kivonására JavaScriptben a reguláris kifejezések használata. A reguláris kifejezések hatékony eszközt jelentenek a mintaillesztéshez, és felhasználhatjuk őket a domain név URL-ből való kinyerésére. Íme egy példa:
Consturl = 'https://www.example.com/path/to/file.html'; Constdomain = url.match(/^(?:https?://)?(?:[^@ ]+@)?(?:www.)?([^:/ ]+)/im)[1];
Ez a reguláris kifejezés mintája megegyezik az URL domain nevével, figyelmen kívül hagyva a protokollt ( http vagy https ), felhasználónév és jelszó, valamint elérési út. Úgy működik, hogy megkeresi a kettőspontot, perjelet vagy újsort nem tartalmazó karaktersorozat első előfordulását, amelyet egy opcionális protokoll, felhasználónév és jelszó, valamint opcionális 'www.' előtag. A match metódus egy tömböt ad vissza, amely tartalmazza a teljes egyezést és a rögzített csoportokat, ezért ki kell bontani a második elemet (az 1. indexnél), hogy megkapjuk a domain nevet.
Ennek a megközelítésnek megvan az az előnye, hogy rugalmas és adaptálható a különböző URL-formátumokhoz, de bonyolultabb és hibásabb is, ha a reguláris kifejezés mintája nem elég pontos.
4. A DOM használata
Végül a domain nevet egy URL-ből is kivonhatjuk JavaScriptben a DOM . Rejtett horgonyelemet létrehozhatunk, beállíthatjuk href attribútum arra az URL-re, ahonnan ki akarjuk bontani a tartománynevet, majd olvassa be a gazdagépnév tulajdonságot. Íme egy példa:
Consturl = 'https://www.example.com/path/to/file.html'; Const a = document.createelement('a'); A.href = url; Const domain = a.hostname;
Ennek a megközelítésnek megvan az az előnye, hogy könnyen érthető és megvalósítható, ugyanakkor létrehozza a DOM elem , ami hatással lehet a teljesítményre, ha ezt ismételten meg kell tennie.
Következtetés
Különféle módon lehet a domain nevet kinyerni egy URL-ből a javascriptben, és a legjobb megközelítés az Ön követelményeitől és korlátaitól függ. Ha csak a tartománynevet kell kivonnia az aktuális URL-ből, használja a ablak.hely objektum a legegyszerűbb és legmegbízhatóbb módszer.