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.URL
tesiste sonra güncelleme yok window.location
ederken, bir çapa (#) için window.location.href
yapar. Burada canlı bir demo hazırladım : jsfiddle.net/PxgKy Firefox'un diğer sürümlerini test etmedim. document.URL
Chrome 20 ve IE9'da kullanımda sorun bulunamadı.
window.location.host
vewindow.location.href.toString().split(window.location.host)[1]
document.baseURI
o zaman ne olacak. Temelde url almak için 3 yol vardır document.baseURI
, document.URL
& location
.
name="URL"
bu özellik document
nesnenin üzerinde gölgelenecek ve kodunuz kırılacaktır. Bu durumda, document.URL
bunun 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, Location
nesnenin bir özelliği olan Window
nesneyi kullanır. Location
Aş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 Location
nesne ö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.URL
window.location.href
Geçerli sayfa URL'sini alır:
window.location.href
document
spec tarafından tanımlanan belge ağacının köküdür. window
genellikle 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
hash
etiketini, hoşuna alabilirsiniz: window.location.hash
.Yani window.location.href
hepsi bir arada işler ... temel olarak:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
window
Zaten 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=A1B2C3
aynı ?option=a1b2c3
veya 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/36577223
bu 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.location
için ile değiştirildi document.URL
.
Ve, tüm modern tarayıcılar haritasına document.location
için window.location
.
Gerçekte, tarayıcılar arası güvenlik için kullanmak window.location
yerine 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.origin
protokolü 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 );
});