Mengambil dan Mengubah URL Halaman Secara Dinamis dengan Href Location
Dalam pengembangan web, sering kali kita perlu mengambil atau mengubah URL halaman secara dinamis. Misalnya, kita ingin mengalihkan pengguna ke halaman lain, menampilkan URL saat ini, atau mengubah URL tanpa memuat ulang halaman. Untuk melakukan ini, kita bisa menggunakan location.href
dalam JavaScript.
location.href
adalah salah satu properti dalam objek window.location
yang memungkinkan kita untuk mengakses, mengubah, dan mengarahkan pengguna ke URL tertentu. Dengan pemahaman yang tepat, kita bisa memanfaatkan href location
untuk meningkatkan pengalaman pengguna dan mengontrol navigasi dalam aplikasi web.
Di artikel ini, kita akan membahas cara mengambil dan mengubah URL menggunakan location.href
, serta contoh penggunaannya dalam pengembangan web.
Apa Itu Href Location?
location.href
adalah properti dalam objek location
yang mengembalikan URL lengkap dari halaman yang sedang diakses. Kita bisa menggunakannya untuk membaca URL saat ini atau mengubah URL secara dinamis.
Cara Mengambil URL Saat Ini
Jika kita ingin mendapatkan URL halaman yang sedang diakses oleh pengguna, kita bisa menggunakan kode berikut:
console.log(location.href);
Jika pengguna membuka halaman https://example.com/page.html
, output yang dihasilkan adalah:
https://example.com/page.html
Cara Mengubah URL dengan location.href
Selain membaca URL, kita juga bisa mengubah URL halaman dengan menetapkan nilai baru ke location.href
. Ini berfungsi seperti redirect, karena browser akan memuat halaman baru dengan URL yang diberikan.
1. Redirect ke Halaman Lain
location.href = "https://example.com/new-page.html";
Kode di atas akan langsung mengarahkan pengguna ke new-page.html.
2. Redirect dengan Tombol
Kita bisa membuat tombol yang mengubah URL saat diklik:
<button onclick="window.location.href='https://example.com/dashboard'">Pergi ke Dashboard</button>
Saat tombol diklik, pengguna akan diarahkan ke halaman dashboard.
Menggunakan location.href
untuk Navigasi Halaman Tanpa Reload
Kadang kita ingin mengubah URL tanpa memuat ulang halaman. Ini bisa dilakukan dengan history.pushState()
jika kita menggunakan Single Page Application (SPA), tetapi location.href
sendiri akan selalu memicu reload.
Jika ingin mengubah URL tanpa reload, gunakan:
history.pushState(null, "", "/new-url");
Kode ini akan mengubah URL di address bar menjadi /new-url
, tetapi tidak akan me-reload halaman.
Perbedaan location.href
dengan window.location.assign()
dan window.location.replace()
Metode | Fungsi | Reload Halaman? |
---|---|---|
location.href |
Mengubah URL dan mengarahkan pengguna | ✅ Ya |
location.assign() |
Sama seperti location.href , tetapi dalam bentuk metode |
✅ Ya |
location.replace() |
Mengganti URL tanpa menyimpan riwayat halaman sebelumnya | ✅ Ya |
Jika kita ingin mengganti halaman tanpa menyimpan riwayat, gunakan:
location.replace("https://example.com/home");
Dengan replace()
, pengguna tidak bisa kembali ke halaman sebelumnya dengan tombol back di browser.
Contoh Implementasi location.href
1. Menampilkan URL Saat Ini dalam Halaman
Kita bisa menampilkan URL aktif ke dalam halaman agar pengguna tahu mereka sedang berada di halaman mana.
<p>URL saat ini: <span id="current-url"></span></p>
<script>
document.getElementById("current-url").textContent = location.href;
</script>
Hasilnya akan menampilkan URL penuh yang sedang diakses pengguna.
2. Redirect Otomatis Setelah Beberapa Detik
Kita bisa mengarahkan pengguna ke halaman lain setelah beberapa detik menggunakan setTimeout()
:
setTimeout(function() {
location.href = "https://example.com/new-page";
}, 5000); // Redirect setelah 5 detik
Setelah 5 detik, pengguna akan dialihkan ke new-page.
3. Mengubah URL dengan Query Parameter Secara Dinamis
Jika kita ingin menambahkan atau mengubah query parameter dalam URL:
let url = new URL(location.href);
url.searchParams.set("user", "john");
location.href = url.toString();
Jika sebelumnya URL adalah:
https://example.com/
Setelah kode dijalankan, akan berubah menjadi:
https://example.com/?user=john
Kapan Harus Menggunakan location.href
?
✅ Jika ingin mengarahkan pengguna ke halaman lain dengan redirect otomatis.
✅ Jika ingin membaca URL saat ini dalam halaman.
✅ Jika ingin menampilkan atau memodifikasi URL dengan query parameter secara dinamis.
❌ Jangan gunakan jika ingin mengubah URL tanpa reload, gunakan history.pushState()
sebagai gantinya.
Kesimpulan
location.href
digunakan untuk mengambil dan mengubah URL halaman.- Dapat digunakan untuk redirect otomatis atau menampilkan URL saat ini dalam halaman.
- Bisa digunakan bersama query parameter untuk navigasi dinamis.
- Jika ingin mengganti halaman tanpa menyimpan riwayat, gunakan
location.replace()
. - Jika ingin mengubah URL tanpa reload, gunakan
history.pushState()
.
Dengan memahami href location, kita bisa mengontrol navigasi halaman web dengan lebih baik dan memberikan pengalaman pengguna yang lebih interaktif!