logo

JavaScript'te URL'den alan adı nasıl alınır?

URL nedir?

A URL'si bir şeyin başka adıdır internet adresi . Örneğin, kelime tabanlı bir URL Javatpoint.com'dur. A URL'si bir IP adresi kullanılarak da oluşturulabilir (ör. 192.168.2.24 ). Çoğu tüketici, çevrimiçi arama yaparken ismin adresini verir çünkü isimlerin hatırlanması rakamlardan daha kolaydır.

Web tarayıcılarının kullandığı URL'ler Web sunucularından belirli sayfalar için istekte bulunmak. Aşağıda bir liste bulunmaktadır URL'nin sözdizimi Ve biçim .

Sözdizimi

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

Parametreler

Şema-

İnternet hizmetinin türü belirtilir (genelde http veya https kullanılmaktadır).

chr işlevi pitonu

Önek-

Bir etki alanı öneki oluşturur (www, http için varsayılandır).

İhtisas-

python sıralanmış tuple

İnternetteki alan adını tartışır (örn. javatpoint.com ).

Liman -

Ana bilgisayardaki bağlantı noktasını tanımlar ( 80 http için varsayılandır).

Yol -

Sunucu tarafında bir yol oluşturur.

Java dizeleri birleştirir

Dosya adı -

Bir kaynağın veya belgenin adını tanımlar.

Alan adını bir yerden almak URL'si içinde javascript web analitiği veya güvenlik amacıyla alan adının çıkarılması gibi çeşitli nedenlerden dolayı yararlı bir görev olabilir. Bu cevapta, javascript'teki bir URL'den alan adını çıkarmanın farklı yollarını artıları ve eksileriyle birlikte keşfedeceğiz.

1. window.location nesnesini kullanma

Alan adını javascript'teki bir URL'den almanın en kolay yolu, window.location nesnesi Geçerli URL hakkında bilgi sağlayan. window.location.host özelliği bize, varsa bağlantı noktası numarası da dahil olmak üzere alan adını verir. İşte bir örnek:

 Const domain = window.location.host; 

Bu yaklaşımın basit ve güvenilir olma avantajı vardır. Ancak bu yalnızca geçerli URL için çalışır; dolayısıyla alan adını farklı bir URL'den çıkarmanız gerekirse farklı bir yöntem kullanmanız gerekir.

f filmler

2. URL yapıcısını kullanma

Javascript'te alan adını bir URL'den çıkarmanın başka bir yolu da URL yapıcısını kullanmaktır. Bir URL dizesini ayrıştırabilen ve çeşitli bileşenlerine erişim sağlayabilen yerleşik bir javascript nesnesidir. İşte bir örnek:

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

URL oluşturucunun, alan adını yalnızca geçerli URL'den değil, herhangi bir geçerli URL'den çıkarabilme avantajı vardır. Ancak yalnızca modern tarayıcılarda mevcuttur, bu nedenle kullanmadan önce desteklenip desteklenmediğini kontrol etmeniz gerekir.

3. Düzenli ifadeleri kullanma

Javascript'te alan adını bir URL'den çıkarmak için daha gelişmiş bir yaklaşım, normal ifadeler kullanmaktır. Düzenli ifadeler, kalıp eşleştirme için güçlü bir araçtır ve bunları, alan adını bir URL'den çıkarmak için kullanabiliriz. İşte bir örnek:

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

Bu normal ifade modeli, protokolü göz ardı ederek bir URL'deki alan adıyla eşleşir ( http veya https ), kullanıcı adı ve şifre ve yol. İki nokta üst üste, eğik çizgi veya yeni satır içermeyen, öncesinde isteğe bağlı bir protokol, kullanıcı adı ve parola ile isteğe bağlı bir karakter dizisinin ilk geçtiği yeri arayarak çalışır. 'www.' önek. Match yöntemi, eşleşmenin tamamını ve yakalanan grupları içeren bir dizi döndürür, bu nedenle alan adını almak için ikinci öğeyi (indeks 1'de) çıkarmamız gerekir.

Bu yaklaşımın esnek olma ve farklı URL biçimlerine uyarlanma avantajı vardır, ancak aynı zamanda daha karmaşıktır ve düzenli ifade modelinin yeterince kesin olmaması durumunda hatalara açıktır.

tarihformat.format java

4. DOM'u kullanma

Son olarak, javascript'teki bir URL'den alan adını aşağıdaki komutu kullanarak da çıkarabiliriz. DOM . Gizli bir bağlantı elemanı oluşturabilir, onu ayarlayabiliriz. href özelliği alan adını çıkarmak istediğimiz URL'ye gidin ve ardından ana bilgisayar adı özelliğini okuyun. İşte bir örnek:

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

Bu yaklaşımın anlaşılması ve uygulanması kolay olma avantajına sahiptir, ancak aynı zamanda DOM öğesi Bunu tekrar tekrar yapmanız gerekiyorsa bazı performans etkileri olabilir.

Çözüm

Javascript'te alan adını bir URL'den çıkarmanın farklı yolları vardır ve en iyi yaklaşım gereksinimlerinize ve kısıtlamalarınıza bağlıdır. Alan adını yalnızca geçerli URL'den çıkarmanız gerekiyorsa, window.location nesnesi en basit ve en güvenilir yöntemdir.