Tek istediğim web sitesi URL'sini almak. Bir bağlantıdan alınan URL değil. Sayfa yüklenirken, web sitesinin tam, güncel URL'sini alıp istediğim gibi bir değişken olarak ayarlayabilmem gerekiyor.
Tek istediğim web sitesi URL'sini almak. Bir bağlantıdan alınan URL değil. Sayfa yüklenirken, web sitesinin tam, güncel URL'sini alıp istediğim gibi bir değişken olarak ayarlayabilmem gerekiyor.
Yanıtlar:
kullanın:
window.location.href
Yorumlarda belirtildiği gibi, aşağıdaki satır çalışır, ancak Firefox için hata alır.
document.URL;
document.URLtesiste sonra güncelleme yok window.locationederken, bir çapa (#) için window.location.hrefyapar. Burada canlı bir demo hazırladım : jsfiddle.net/PxgKy Firefox'un diğer sürümlerini test etmedim. document.URLChrome 20 ve IE9'da kullanımda sorun bulunamadı.
window.location.hostvewindow.location.href.toString().split(window.location.host)[1]
document.baseURIo zaman ne olacak. Temelde url almak için 3 yol vardır document.baseURI, document.URL& location.
name="URL"bu özellik documentnesnenin üzerinde gölgelenecek ve kodunuz kırılacaktır. Bu durumda, document.URLbunun yerine DOM düğümüne atıfta bulunacaktır. Global nesnenin özelliklerini olduğu gibi kullanmak daha iyidir window.location.href.
URL Bilgisi Erişimi
JavaScript, tarayıcının adres çubuğunda görüntülenen geçerli URL'yi almak ve değiştirmek için birçok yöntem sunar. Tüm bu yöntemler, Locationnesnenin bir özelliği olan Windownesneyi kullanır. LocationAşağıdaki gibi geçerli URL'ye sahip yeni bir nesne oluşturabilirsiniz :
var currentLocation = window.location;
Temel URL Yapısı
<protocol>//<hostname>:<port>/<pathname><search><hash>
protokol: İnternette kaynağa erişmek için kullanılacak protokol adını belirtir. (HTTP (SSL olmadan) veya HTTPS (SSL ile))
hostname: Ana bilgisayar adı, kaynağın sahibi olan ana bilgisayarı belirtir. Örneğin www.stackoverflow.com,. Bir sunucu, ana bilgisayarın adını kullanarak hizmetler sağlar.
port: İnternet veya başka bir şebeke mesajının bir sunucuya ulaştığında iletileceği belirli bir işlemi tanımak için kullanılan bir port numarası.
pathname: Yol, ana istemcideki Web istemcisinin erişmek istediği kaynak hakkında bilgi verir. Örneğin,/index.html ,.
arama: Bir sorgu dizesi yol bileşenini izler ve kaynağın bir amaç için kullanabileceği bir bilgi dizesi sağlar (örneğin, bir arama parametresi olarak veya işlenecek veri olarak).
hash: Bir URL'nin bağlantı kısmı, karma işaretini (#) içerir.
Bu Locationnesne özellikleriyle, bu URL bileşenlerinin tümüne ve ayarlayabilecekleri veya döndürebileceklerine erişebilirsiniz:
Umarım cevabını almışsındır ..
window.location, ama özellikleri ve burada bir örnek var : var stringPathName = window.location.pathname.
substring. Ancak, yeniden yönlendirmek için kullanmak istediğinizde document.location = "/page.html";kök sayfaya yönlendirecektirpage.html
search, ancak aşağıdaki açıklamalar listesinde buna a denir query. Belki uzlaştırılabilir ya da daha fazla açıklama eklenebilir.
Geçerli kareyle ilişkili konum nesnesinewindow.location okuma ve yazma erişimi için kullanın . Adresi yalnızca salt okunur bir dize olarak almak istiyorsanız , ile aynı değeri içermesi için kullanabilirsiniz .document.URLwindow.location.href
Geçerli sayfa URL'sini alır:
window.location.href
documentspec tarafından tanımlanan belge ağacının köküdür. windowgenellikle eşdeğerdir, ancak bazı garip durumlarda olmayabilir.
Tamam, saf JavaScript kullanarak geçerli sayfanın tam URL'sini almak kolaydır. Örneğin, şu sayfada bu kodu deneyin:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
window.location.hrefÖzellik geçerli sayfanın URL'sini döndürür.
document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript</h2>
<h3>The window.location.href</h3>
<p id="root"></p>
</body>
</html>
Bunlardan da bahsetmek fena değil:
göreli bir yola ihtiyacınız varsa, sadece şunu kullanın window.location.pathname;
ana bilgisayar adını almak istiyorsanız, kullanabilirsiniz window.location.hostname;
ve protokolü ayrıca edinmeniz gerekiyorsa, window.location.protocol
hashetiketini, hoşuna alabilirsiniz: window.location.hash.Yani window.location.hrefhepsi bir arada işler ... temel olarak:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
windowZaten pencere kapsamındaysa da kullanmak gerekmez ...
Bu durumda, şunları kullanabilirsiniz:
location.protocol
location.hostname
location.pathname
location.hash
location.href
Yolu almak için şunları kullanabilirsiniz:
console.log('document.location', document.location.href);
console.log('location.pathname', window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL
Şunları yapabilirsiniz Bir karma etiketiyle geçerli URL konumunu almak kullanarak:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery :
$(location).attr('href');
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
Yukarıdaki kod birisine de yardımcı olabilir
http://www.server.com/path/to/Script.php?option=A1B2C3, dosya sistemi büyük / küçük harfe duyarlıysa (Linux / Unix) mutlaka Script.php ve script.php aynı değildir. Ve büyük / küçük harfe duyarlı olmasa bile (Windows, bazı Mac Os), ?option=A1B2C3aynı ?option=a1b2c3veya hatta değildir ?Option=A1B2C3. Yalnızca sunucu büyük / küçük harfe duyarlı değildir: www.server.com veya www.SeRvEr.cOm aynıdır.
Hızlı başvuru için sonuç ekleme
window.location;
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ
, …}
window.location.pathname
"/questions/1034621/get-the-current-url-with-javascript"
window.location.href
"/programming/1034621/get-the-current-url-with-javascript"
location.hostname
"stackoverflow.com"
Sorgu dizeleri içeren tam URL için:
document.location.toString().toLowerCase();
Ana makine URL'si için:
window.location
Jstl içinde geçerli URL yoluna şunu kullanarak erişebiliriz pageContext.request.contextPath. Bir Ajax çağrısı yapmak istiyorsanız, aşağıdaki URL'yi kullanın.
url = "${pageContext.request.contextPath}" + "/controller/path"
Örnek: Sayfa için http://stackoverflow.com/posts/36577223bu verilecektir http://stackoverflow.com/controller/path.
Geçerli konum nesnesini almanın yolu window.location.
Bunu document.location, başlangıçta yalnızca geçerli URL'yi dize olarak döndüren ile karşılaştırın . Muhtemelen karışıklığı önlemek document.locationiçin ile değiştirildi document.URL.
Ve, tüm modern tarayıcılar haritasına document.locationiçin window.location.
Gerçekte, tarayıcılar arası güvenlik için kullanmak window.locationyerine kullanmak zorundasınız document.location.
Gerçek bir URL nesnesi isteyenler için, potansiyel olarak URL'leri bağımsız değişken olarak alan bir yardımcı program için:
const url = new URL(window.location.href)
Nikhil Agrawal'ın cevabı harika, burada farklı bileşenleri çalışırken görmek için konsolda yapabileceğiniz küçük bir örnek ekliyoruz:
Yol veya sorgu parametresi olmadan temel URL'yi istiyorsanız (örneğin, geliştirme / aşamalandırma ve üretim sunucuları üzerinde çalışmak için AJAX istekleri yapmak), window.location.originprotokolü ve isteğe bağlı bağlantı noktasını (Django geliştirmesinde bazen yalnızca ana bilgisayar adı vb. kullanırsanız onu bozan standart dışı bir bağlantı noktasına sahip olmanız gerekir.)
Geçerli sayfanın tam bağlantısını location.href
ve mevcut denetleyicinin bağlantısını almak için şunu kullanın:
location.href.substring(0, location.href.lastIndexOf('/'));
Geçerli URL'yi JavaScript ile alma:
) (Window.location.toString;
window.location.href
kimliği olan belirli bir bağlantıya başvuruyorsanız, bu kod size yardımcı olabilir.
$(".disapprove").click(function(){
var id = $(this).attr("id");
$.ajax({
url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
type: "post",
success:function()
{
alert("The Request has been Disapproved");
window.location.replace("http://localhost/sample/page/"+id+"");
}
});
});
Burada bir kimlik göndermek ve window.location.replace kullanarak sayfayı yönlendirmek için ajax kullanıyorum . id=""belirtildiği gibi bir özellik eklemeniz yeterlidir.
Öncelikle sayfanın tamamen yüklendiğini kontrol edin
browser,window.location.toString();
window.location.href
sonra url, URL değişkeni alan ve konsolda yazdırılan bir işlevi çağırır,
$(window).load(function(){
var url = window.location.href.toString();
var URL = document.URL;
var wayThreeUsingJQuery = $(location).attr('href');
console.log(url);
console.log(URL);
console.log(wayThreeUsingJQuery );
});