Yang saya inginkan adalah mendapatkan URL situs web. Bukan URL yang diambil dari tautan. Pada pemuatan halaman saya harus dapat mengambil URL situs web yang lengkap dan saat ini dan mengaturnya sebagai variabel yang harus saya lakukan.
Yang saya inginkan adalah mendapatkan URL situs web. Bukan URL yang diambil dari tautan. Pada pemuatan halaman saya harus dapat mengambil URL situs web yang lengkap dan saat ini dan mengaturnya sebagai variabel yang harus saya lakukan.
Jawaban:
Menggunakan:
window.location.href
Seperti disebutkan dalam komentar, baris di bawah berfungsi, tetapi disadap untuk Firefox.
document.URL;
Lihat URL tipe DOMString, hanya baca .
document.URL
properti tidak memperbarui setelah window.location
jangkar (#), sementara window.location.href
tidak. Saya telah membuat demo langsung di sini: jsfiddle.net/PxgKy Saya tidak menguji versi lain dari Firefox. Tidak ditemukan masalah dalam penggunaan document.URL
di Chrome 20 dan IE9.
window.location.host
danwindow.location.href.toString().split(window.location.host)[1]
document.baseURI
dengan itu. Pada dasarnya ada 3 cara untuk mendapatkan url document.baseURI
, document.URL
, & location
.
name="URL"
maka properti ini akan dibayangi document
objek dan kode Anda akan rusak. Dalam hal ini, document.URL
sebagai gantinya akan merujuk ke simpul DOM. Lebih baik menggunakan properti objek global seperti pada window.location.href
.
Akses Info URL
JavaScript memberi Anda banyak metode untuk mengambil dan mengubah URL saat ini, yang ditampilkan di bilah alamat browser. Semua metode ini menggunakan Location
objek, yang merupakan properti dari Window
objek. Anda dapat membuat Location
objek baru yang memiliki URL saat ini sebagai berikut:
var currentLocation = window.location;
Struktur URL Dasar
<protocol>//<hostname>:<port>/<pathname><search><hash>
protokol: Menentukan nama protokol yang digunakan untuk mengakses sumber daya di Internet. (HTTP (tanpa SSL) atau HTTPS (dengan SSL))
nama host: Nama host menentukan host yang memiliki sumber daya. Sebagai contoh www.stackoverflow.com
,. Server menyediakan layanan menggunakan nama host.
port: Nomor port yang digunakan untuk mengenali proses tertentu yang akan diteruskan Internet atau pesan jaringan lainnya ketika tiba di server.
pathname: Path memberikan info tentang sumber daya spesifik dalam host yang ingin diakses oleh klien Web. Sebagai contoh /index.html
,.
Cari: String kueri mengikuti komponen jalur, dan memberikan serangkaian informasi yang dapat digunakan sumber daya untuk beberapa tujuan (misalnya, sebagai parameter untuk pencarian atau sebagai data yang akan diproses).
hash: Bagian anchor dari URL, termasuk tanda hash (#).
Dengan ini Location
properti objek Anda dapat mengakses semua komponen URL ini dan apa yang dapat mereka atur atau kembalikan:
Saya harap Anda mendapat jawaban Anda ..
window.location
, tetapi sifat, dan di sini kita memiliki contoh : var stringPathName = window.location.pathname
.
substring
. Namun, ini mungkin berguna ketika Anda ingin menggunakan untuk mengarahkan ulang document.location = "/page.html";
akan mengarahkan ke halaman rootpage.html
search
, tetapi dalam daftar deskripsi di bawah, itu disebut a query
. Mungkin mereka dapat direkonsiliasi, atau penjelasan lebih lanjut dapat ditambahkan.
Gunakan window.location
untuk akses baca dan tulis ke objek lokasi yang terkait dengan bingkai saat ini. Jika Anda hanya ingin mendapatkan alamat sebagai string hanya-baca, Anda dapat menggunakan document.URL
, yang harus berisi nilai yang sama dengan window.location.href
.
Mendapat URL halaman saat ini:
window.location.href
document
adalah akar dari pohon dokumen yang ditentukan oleh spesifikasi. window
umumnya setara tetapi mungkin tidak dalam beberapa keadaan aneh.
OK, mendapatkan URL lengkap dari halaman saat ini mudah menggunakan JavaScript murni. Misalnya, coba kode ini di halaman ini:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
The
window.location.href
properti mengembalikan URL dari halaman saat ini.
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>
Tidak buruk untuk menyebutkan ini juga:
jika Anda membutuhkan jalur relatif, cukup gunakan window.location.pathname
;
jika Anda ingin mendapatkan nama host, Anda dapat menggunakan window.location.hostname
;
dan jika Anda perlu mendapatkan protokol secara terpisah, gunakan window.location.protocol
hash
tag, Anda bisa mendapatkannya seperti: window.location.hash
.Jadi window.location.href
menangani semuanya sekaligus ... pada dasarnya:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
Juga menggunakan window
tidak diperlukan jika sudah dalam lingkup jendela ...
Jadi, dalam hal ini, Anda dapat menggunakan:
location.protocol
location.hostname
location.pathname
location.hash
location.href
Untuk mendapatkan jalur, Anda dapat menggunakan:
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
Anda bisa mendapatkan lokasi URL saat ini dengan tag hash dengan menggunakan:
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();
}
Kode di atas juga dapat membantu seseorang
http://www.server.com/path/to/Script.php?option=A1B2C3
, jika sistem file case-sensitive (Linux / Unix) tidak perlu Script.php dan script.php adalah sama. Dan bahkan jika tidak sensitif huruf (Windows, beberapa Mac Os), ?option=A1B2C3
tidak sama ?option=a1b2c3
, atau bahkan ?Option=A1B2C3
. Hanya server yang case-sensitive: www.server.com atau www.SeRvEr.cOm adalah sama.
Menambahkan hasil untuk referensi cepat
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"
Untuk URL lengkap dengan string kueri:
document.location.toString().toLowerCase();
Untuk URL inang:
window.location
Di jstl kita dapat mengakses jalur URL saat ini menggunakan pageContext.request.contextPath
. Jika Anda ingin melakukan panggilan Ajax, gunakan URL berikut.
url = "${pageContext.request.contextPath}" + "/controller/path"
Contoh: Untuk halaman http://stackoverflow.com/posts/36577223
ini akan memberikan http://stackoverflow.com/controller/path
.
Cara untuk mendapatkan objek lokasi saat ini adalah window.location
.
Bandingkan ini dengan document.location
, yang awalnya hanya mengembalikan URL saat ini sebagai string. Mungkin untuk menghindari kebingungan, document.location
diganti dengan document.URL
.
Dan, semua browser modern memetakan document.location
ke window.location
.
Pada kenyataannya, untuk keamanan lintas-browser, Anda harus menggunakan window.location
daripada document.location
.
Bagi mereka yang menginginkan objek URL aktual, berpotensi untuk utilitas yang menganggap URL sebagai argumen:
const url = new URL(window.location.href)
Jawaban Nikhil Agrawal luar biasa, cukup tambahkan sedikit contoh di sini yang dapat Anda lakukan di konsol untuk melihat berbagai komponen yang sedang beraksi:
Jika Anda ingin URL basis tanpa parameter path atau kueri (misalnya untuk melakukan permintaan AJAX agar tidak bekerja pada server pengembangan / pementasan DAN produksi), window.location.origin
yang terbaik adalah menjaga protokol serta port opsional (dalam pengembangan Django, Anda kadang-kadang memiliki port non-standar yang merusaknya jika Anda hanya menggunakan nama host, dll.)
Anda bisa mendapatkan tautan lengkap dari halaman saat ini melalui location.href
dan untuk mendapatkan tautan dari pengontrol saat ini, gunakan:
location.href.substring(0, location.href.lastIndexOf('/'));
Mendapatkan URL saat ini dengan JavaScript:
window.location.toString ();
window.location.href
jika Anda merujuk ke tautan tertentu yang memiliki id kode ini dapat membantu Anda.
$(".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+"");
}
});
});
Saya menggunakan ajax di sini untuk mengirimkan id dan mengalihkan halaman menggunakan window.location.replace . cukup tambahkan atribut id=""
seperti yang dinyatakan.
Pertama-tama periksa untuk halaman dimuat sepenuhnya
browser,window.location.toString();
window.location.href
lalu panggil fungsi yang mengambil url, variabel URL, dan cetak di konsol,
$(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 );
});